進程同步:多進程編程中,解決***享資源沖突的問題
但是部分同學對線程同步和進程同步研究得不夠深入,比如互斥鎖和條件變量能不能同時用於線程同步和進程同步,本質上有什麽區別。
首先我們知道,linux下每個進程都有自己的獨立進程空間,假設A進程和B進程各有壹個互斥鎖,這個鎖放在進程的全局靜態區,那麽AB進程都是無法感知對方的互斥鎖的。
互斥鎖和條件變量出自Posix.1線程標準,它們總是可以用來同步壹個進程內的各個線程的。如果壹個互斥鎖或者條件變量存放在多個進程***享的某個內存區中,那麽Posix還允許它用在這些進程間的同步。
看到這裏,是不是發現點了什麽,線程同步和進程同步的本質區別在於鎖放在哪,放在私有的進程空間還是放在多進程***享的空間,並且看鎖是否具備進程***享的屬性,