【发布时间】:2014-03-06 07:55:40
【问题描述】:
我有一个多线程 C/C++ 程序,它非常频繁地为读写请求提供服务。出于同步目的,我使用互斥锁进行锁定和解锁。所有的读写线程在执行它们的操作之前都会获取锁。如果一个线程获得锁并且在它可以释放锁之前发生中断会发生什么?线程会恢复执行还是我必须手动处理它?
【问题讨论】:
-
没有人会神奇地解锁锁定的互斥锁。使用锁进行编程的缺点是等待时间可以任意长并且可能发生死锁。 (也就是说,中断处理程序通常最终会将执行返回到它们停止的地方。)
标签: c++ linux pthreads mutex interrupt