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