Q 一个线程如果只有互斥锁那么那么这个线程一定是安全的吗?
signal handler可能在任何时候打断一个进程的任意一个线程而执行(如果该线程没有屏蔽该signal的话)
如果该函数是不是可 重入的 可能出现意想不到的问题
存在问题:
在Linux中,fork的时候只复制当前线程到子进程,在fork(2)-Linux Man Page中有着这样一段相关的描述:
>The child process is created with a single thread--the one that called fork(). The entire virtual address space of the parent is replicated in the child, including the states of mutexes, condition variables, and other pthreads objects; the use of pthread_atfork(3) may be helpful for dealing with problems that this can cause.
也就是说除了调用fork的线程外,其他线程在子进程中“蒸发”了
一个线程 突然挂断 线程占有的锁如何释放? RAII 一个线程 突然挂断 发出了加锁请求 为及时发出解锁请求(分布式锁在别的机器上)