c - pthread_cancel会在线程做IO的时候取消一个线程吗?

标签 c pthreads posix

标题不言自明,因为实际的“取消点”是什么时候? POSIX 要求 read 是一个取消点,但是是在线程第一次调用 read 时,还是一旦完成? POSIX 究竟在什么时候要求取消线程?

最佳答案

取消点是 调用 read() 的任何时间。来自 the spec :

Cancellation points shall occur when a thread is executing the following functions: [....] read() [....]

所以,回答你的名义问题,是的。

关于c - pthread_cancel会在线程做IO的时候取消一个线程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27593631/

相关文章:

c++ - 以非管理员身份在 Windows 上检查 C 中的上次文件修改时间

C 错误处理编码风格

c - Mandelbrot 使用 Pthreads,单步遍历数组

c - 从 POSIX 队列接收消息时如何节省内存?

c - 使用 fork 时 while(wait(NULL)){} 和 while(wait(NULL) > 0){} 有什么区别

c - LinkedList 长度、通过堆访问和实现。 C

c++ - 对大文件的可移植支持

c - 没有互斥量的 pthread_cond_wait 的潜在缺陷

c - pthread_cancel() 在传入类型转换的 void 指针时不起作用

c++ - OS X 上的奇怪/不正确的 sem_getvalue 信号量行为