linux linux線程同步和進程同步的區(qū)別?
linux線程同步和進程同步的區(qū)別?線程同步:解決多線程編程中的共享資源沖突問題進程同步:解決多進程編程中的共享資源沖突問題,但有些學生對線程同步和進程同步的研究不夠深入,如是否互斥、條件變量等可以同
linux線程同步和進程同步的區(qū)別?
線程同步:解決多線程編程中的共享資源沖突問題進程同步:解決多進程編程中的共享資源沖突問題,但有些學生對線程同步和進程同步的研究不夠深入,如是否互斥、條件變量等可以同時用于線程同步和進程同步,本質(zhì)上有什么區(qū)別。首先,我們知道在Linux下,每個進程都有自己獨立的進程空間。假設(shè)進程a和進程B都有一個互斥鎖,并且這個鎖被放置在進程的全局靜態(tài)區(qū)域中,那么進程AB就不能感知彼此的互斥鎖。mutex和條件變量來自POSIX。1螺紋標準。它們總是可以用來同步進程中的線程。如果mutex或條件變量存儲在多個進程共享的內(nèi)存區(qū)域中,POSIX還允許將其用于這些進程之間的同步。如果您看到這里發(fā)生的情況,那么線程同步和進程同步的本質(zhì)區(qū)別在于鎖的位置,在私有進程空間還是在多個進程的共享空間,以及鎖是否具有進程共享的屬性,