usleep java_usleep是否创建了线程取消点?
根据Linux联机帮助页,只有以下函数是线程取消点:pthread_join,pthread_cond_wait,pthread_cond_timedwait,pthread_testcancel,sem_wait,sigwait . 在我的测试程序中,线程在usleep上退出 . 线程功能:
void* ThreadFunction(void* arg)
{
int n = 0;
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, NULL);
for(;;)
{
ostringstream s;
s << "Thread iteration " << n++;
PrintLine(s.str().c_str());
usleep(500000);
PrintLine("Check whether thread canceled...");
pthread_testcancel();
PrintLine("Thread is not canceled - continue");
}
pthread_exit(NULL);
}
当main函数执行pthread_cancel时,我希望ThreadFunction打印的最后一行是“检查线程是否被取消......” . 但是,它总是在退出之前打印“Thread iteration ...” . 这意味着,usleep是取消点 . 我认为这是正确的 - 任何睡眠功能都必须是可取消的 . 但这不是在文档中写的 .
如果usleep行被注释,最后一个线程输出行是“检查线程是否被取消...”,正如我所期望的那样 .
usleep java_usleep是否创建了线程取消点?相关推荐
- Linux_多线程(进程与线程的联系_pthread库_线程创建_线程等待_线程正常终止_线程取消_线程分离_pthread_t与LWP)
文章目录 1.线程的定义,进程和线程的关系 2.Linux下的线程 Linux原生线程库(pthread库pthread.h) 线程的优点 线程的私有数据 3.线程控制 ①创建线程(pthread_c ...
- 线程分离属性,线程取消(状态,类型),线程取消例程函数
目录 1.线程分离属性 2.线程取消(状态,类型) 3.线程取消例程函数 1.线程分离属性 默认情况下,线程启动后处于可接合状态(即未分离),此时的线程可以在退出时让其他线程接合以便释放资源,但若其他 ...
- pthread 立即停止线程_线程取消(pthread_cancel)
基本概念 pthread_cancel调用并不等待线程终止,它只提出请求.线程在取消请求(pthread_cancel)发出后会继续运行, 直到到达某个取消点(CancellationPoint).取 ...
- 线程取消pthread_cancle、取消选项
目录 pthread_cancel 杀死(取消)线程 取消选项 ① 可取消状态:PTHREAD_CANCLE_ENABLE.PTHREAD_CANCLE_DISABLE ②取消类型(推迟取消):PTH ...
- python多线程的使用(导入线程模块、创建子线程任务、启动子线程任务、获取当前执行的线程号)
1. 导入线程模块 #导入线程模块 import threading 2. 线程类Thread参数说明 Thread([group [, target [, name [, args [, kwarg ...
- 高并发场景下创建多少线程才合适?一条公式帮你搞定!!
来自:冰河技术 创建多少线程合适, 要看多线程具体的应用场景.一般来说,我们可以将程序分为:CPU密集型程序和I/O密集型程序, 而针对于CPU密集型程序和I/O密集型程序,其计算最佳线程数的方法是不 ...
- ExecutorService为创建的线程池ExecutorService pool = Executors.newFixedThreadPool(POOL_SIZE)
ExecutorService就是要创建的线程池 JAVA中线程池用类ExecutorService代表 ,案例ExecutorService pool = Executors.newFixedTh ...
- linux c 线程的创建、线程等待、线程终止、线程分离
1. 什么是线程 线程是进程执行内部的一个执行分支,在一个进程内部运行的多种执行流:内部本质上是多个线程在同一个地址空间运行:第一个pcb称之为主线程:有多个线程就有多个执行流:一个进程至少有一个 ...
- 你知道线程池创建多少线程比较合理吗?
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 小鱼儿_karl 来源 | https://w ...
最新文章
- 2021年夏天找SAP新项目的几点感想
- 工程制图 (组合体的视图与尺寸注法)
- c# mysql varbinary_Mysql中如何插入VarBinary二进制类型?
- ROS底盘控制节点 源码分析
- 《硬件接入》海康威视接入及CPU性能优化思路
- 优化 API 的处理说明以及思路
- bootice安装grub2-00 到硬盘或者U盘mbr
- 我在华为做外包的真实经历!
- 龙卷风路径_龙卷风一般在中国的什么地方有?
- Google邮箱账号登陆存在异常活动怎么办?
- Fern wifi cracker 无线破解工具——图解
- linux桌面lxde 安装_Ubuntu怎么安装轻量级的LXDE桌面?
- Dilated Convolution + Receptive Field
- HBase Muti-Master
- powerbuilder操作excel命令大全
- 贝叶斯统计推断_统计推断对决:频繁主义者与贝叶斯主义者
- 庸殖状恐剐雷善菊囟蕾
- LVS+Nginx实现高可用集群
- UVA10118Free Candies
- 国家教育部牵手曙光公司——“百校工程”助力教育行业大数据平台建设
热门文章
- 网络安全行业与就业-网络安全事件分类
- 400+人支持的技能树又又又更新了,来看看对我们的学习有没有帮助呢?Python技能树评测
- 软件设计之——“高内聚低耦合”
- win7系统启动到一半停止_win7系统装一半死机的解决方法
- 第14章_视图(创建视图、查看视图、更新视图的数据、修改、删除视图)
- 大A股票主力对敲倒量,接盘返点有哪些特征
- linux 用chomd修改权限时报:只读文件系统,linux下修改文件夹权限提示chmod: 更改xx 的权限: 只读文件系统...
- mac电脑升级Monterey12.1版之后L2TP连接公司内网后无法正常访问的问题解决
- 年薪二十、三十、四十万的Java程序员的生活现状
- macos13 Ventura虚拟机安装无网络问题