-
mutex(维基百科 )
According Wikipedia, Mutex(Mutual exclusion) 互斥锁,是一种用于多线程编程中,防止两条线程同时对同一公共资源(比如全局变量)进行读写的机制。
通过将代码切片成一个一个的临界区域(critical section)达成。
临界区域,指的是一块对公共资源进行访问的代码,并非一种机制或算法。
确保同一时间只有一个临界区域处于运行状态,而其他的临界区域,无论是读是写,都必须被挂起并且不能获得运行机会。
一个程序、进程、线程可以拥有多个临界区域,但是并不一定会应用互斥锁。
-
举例理解mutex
一个多人激烈争论的会议上,人人抢着发言谁都听不清。
主持人拿来一个塑料尖叫鸡,谁拿着尖叫鸡谁说话,想说话的只能向支持人示意,发言人发言结束后把尖叫鸡给主持人,主持人再给下一个想要发言的人。
其中主持人就是操作系统;尖叫鸡就是mutex。
-
延伸概念
-
mutex In Python
以前有一个mutex module which has been deprecated since version 2.6。
后来使用
threading
模块的Lock()
方法。>>> mutex = threading.Lock() >>> mutex.acquire() >>> print("mutex is now locked") >>> mutex.release() >>> print("mutex is now unlocked")
-
Reference
从Python角度理解mutex
最新推荐文章于 2024-05-29 19:11:50 发布