"互斥锁"(Mutual exclusion,缩写 Mutex),防止多个线程同时读写某一块内存区域。
这时的解决方法,就是在门口挂n把钥匙。进去的人就取一把钥匙,出来时再把钥匙挂回原处。后到的人发现钥匙架空了,就知道必须在门口排队等着了。这种做法叫做"信号量"(Semaphore),用来保证多个线程不会互相冲突。
C实现线程操作的是pthread。
在实际使用中发现移植到C++类中需要从静态函数开始线程,但是可以把this指针作为函数的参数。
有一篇把pthread封装成类的文章:
"互斥锁"(Mutual exclusion,缩写 Mutex),防止多个线程同时读写某一块内存区域。
这时的解决方法,就是在门口挂n把钥匙。进去的人就取一把钥匙,出来时再把钥匙挂回原处。后到的人发现钥匙架空了,就知道必须在门口排队等着了。这种做法叫做"信号量"(Semaphore),用来保证多个线程不会互相冲突。
C实现线程操作的是pthread。
在实际使用中发现移植到C++类中需要从静态函数开始线程,但是可以把this指针作为函数的参数。
有一篇把pthread封装成类的文章: