莆田網(wǎng)站建設(shè)哪家好什么是全網(wǎng)營(yíng)銷推廣
一、原子操作
原子操作就是指不能再進(jìn)一步分割的操作。
二、為了實(shí)現(xiàn)一個(gè)互斥,自己定義一個(gè)變量作為標(biāo)記來(lái)作為一個(gè)資源只有一個(gè)使用者行不行??
不行。如果在一個(gè)線程正持有鎖時(shí)(2處),線程上下文發(fā)生切換,切換到另一個(gè)線程,那么這個(gè)另一個(gè)線程也可能通過(guò) if 條件進(jìn)入臨界區(qū),導(dǎo)致兩個(gè)線程同時(shí)訪問臨界區(qū)。
int flag =0;if(flag == 0) // 2{flag = 1; //3//操作臨界區(qū);flag = 0;}
三、進(jìn)程上下文
進(jìn)程上下文:是指一個(gè)進(jìn)程在執(zhí)行的時(shí)候,CPU的所有寄存器中的值、進(jìn)程的狀態(tài)以及堆棧上的內(nèi)容,當(dāng)內(nèi)核需要切換到另一個(gè)進(jìn)程時(shí),它需要保存當(dāng)前進(jìn)程的所有狀態(tài),即保存當(dāng)前進(jìn)程的進(jìn)程上下文,以便再次執(zhí)行該進(jìn)程時(shí),能夠恢復(fù)切換時(shí)的狀態(tài),繼續(xù)執(zhí)行。
簡(jiǎn)單來(lái)講,當(dāng)一個(gè)進(jìn)程在執(zhí)行時(shí),CPU的所有寄存器中的值、進(jìn)程的狀態(tài)以及堆棧中的內(nèi)容被稱為該進(jìn)程的上下文。
中斷上下文、進(jìn)程上下文_中斷上下文 進(jìn)程上下文_Jason Gel的博客-CSDN博客
?