|
pthread_testcancel();
read(...);
pthread_testcancel();
以上是一个线程取消中的一个取消点的代码
之所以写成如上的形势,书中介绍是因为LinuxThread库与C的库函数结合得不好,所以C中所有的函数都不是取消点,所以写成如上的形势。
看到部分人介绍说这个取消点不是我们认为的一个“点”可能是一个时间段,简单地说,一个线程处在一个无限循环中,该循环体中没有没有执行到取消点的必然路径,所以在取消点的必然路径中加入pthread_testcancel()调用,那么这个取消信号是不是就是在执行到read()函数之前或者执行到read()函数的这个时间段中传入的呢?
如果有对这方面比较熟悉的人,能不能写一个简单点的例子,说明下。 |
|