腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
是否更改另一个
线程
的pthread
取消
类型?
、
、
、
我想要完成的是,主
线程
首先在工作
线程
上尝试正常的延迟
取消
(对我来说,执行代码是一个黑盒),然后如果
线程
在超时(pthread_timedjoin_np())后仍在运行,我希望执行异步
取消
。我遇到的问题是pthread_setcanceltype()只适用于调用
线程
。有什么变通方法或技巧可以让我做到这一点吗?我希望避免使用信号,因为至少在
Linux
下,异步
取消
似乎仍然会执行
线程
对象的C++析构函数,这对我来说很重要。
浏览 1
提问于2011-07-06
得票数 1
回答已采纳
1
回答
是否可以
取消
C++ 11或14中的阻塞呼叫?
、
、
、
场景:我需要StopThread能够停止
线程
并
取消
阻塞在ReadValue上的调用。我该怎么做?在C++11或14中有什么方法吗?std::async可能是一个解决方案吗?
浏览 1
提问于2018-07-12
得票数 1
4
回答
使用pthread_cancel
取消
线程
:好的做法还是坏的做法
、
、
我在
Linux
5.3(
Linux
5.3)上有一个C++程序,它产生多个
线程
,这些
线程
在无限循环中执行作业并休眠一定的时间。现在,我必须
取消
正在运行的
线程
,以防出现新的配置通知,并重新启动一组新的
线程
,为此我使用了pthread_cancel。我观察到的是,即使在接收到
取消
指示后,
线程
也不会停止,甚至一些休眠
线程
在休眠完成后也会出现。
浏览 8
提问于2011-01-21
得票数 27
回答已采纳
1
回答
pthread_cancel在arm和ppc上的行为不同?
、
、
我目前正在开发一个多
线程
应用程序,它将部署在arm和ppc体系结构上。我手臂上的pthread_cancel有点问题。 arm上的pthread_cancel与ppc的行为不一样。
线程
被
取消
,但是
线程
的局部变量的析构函数没有在arm上被调用。我还试图显式定义通过pthread_cleanup_push安装的
取消
清理处理程序。但是,当
线程
被
取消
时,它不会被调用。
取消
线程
时,将调用局部变量的析构函数。当我显式地定义了一个清理处理程序时,当
浏览 0
提问于2009-03-12
得票数 5
回答已采纳
2
回答
什么时候POSIX
线程
取消
不是立即的?
、
、
、
POSIX为
线程
取消
类型指定了两种类型:PTHREAD_CANCEL_ASYNCHRONOUS和PTHREAD_CANCEL_DEFERRED (由pthread_setcanceltype(3)设置)通过我的阅读,POSIX手册页并没有提到这些,但是
Linux
手册页提供了关于PTHREAD_CANCEL_ASYNCHRONOUS的以下内容
线程
可以随时
取消
。当请求
取消
并启用
取消
(pthread_setcancelstate(3))并将
取消
类型设置为
浏览 6
提问于2013-07-18
得票数 3
回答已采纳
1
回答
如何使用C++
取消
线程
?
POSIX提供了
取消
线程
执行的函数pthread_cancel,但是C++似乎没有提供这样的函数,也可以使用混合std::pthread_cancel吗?我还在
linux
系统上看到,std::
线程
是POSIX
线程
的包装器。
浏览 5
提问于2021-05-25
得票数 1
回答已采纳
1
回答
POSIX
线程
:最好的中断方法
、
、
、
、
第一件事,当我开始使用p
线程
时,有人告诉我--您应该避免强制
线程
取消
,比如pthread_cancel。相反,我们应该通过
线程
通信通道使用
线程
取消
通知。如果我们在
线程
中有一个很长的任务要运行,那么我们将这个任务分成几个小块,并在每个块处理之后检查
取消
标志。根据我在c和
linux
方面的所有经验,我只记得这些方法: (如果您只有一个工作
线程
),您可以使用sig_atomic_t作为
取消
标志的类型。在
浏览 3
提问于2017-06-28
得票数 1
2
回答
当
线程
执行IO时,pthread_cancel会
取消
线程
吗?
、
、
题目很清楚,什么时候才是实际的“
取消
点”?POSIX要求read是一个
取消
点,但是是在
线程
第一次调用read时还是在完成之后呢?POSIX到底什么时候要求
取消
线程
?
浏览 5
提问于2014-12-21
得票数 1
回答已采纳
2
回答
致命: c++中未重新引发的异常
、
、
start_thread () from /lib64/libpthread.so.0但是,如果我
取消
了
线程
函数运行中的睡眠
浏览 2
提问于2016-01-24
得票数 4
回答已采纳
3
回答
线程
取消
(p
线程
)& C++
、
、
、
、
我正在用C++为
Linux
编写MT程序,我想知道
线程
取消
是如何执行的。当
线程
被
取消
时,它仍然调用
线程
函数中创建的所有C++对象的析构函数。i可以传递到清除函数、指向
线程
函数中创建的对象的指针。。 我说得对吗?我的代码写得很好吗?下面的代码中还有一个问题,当
线程
在A节中某个位置被
取消
浏览 8
提问于2010-11-19
得票数 2
回答已采纳
1
回答
线程
取消
问题
、
NULL); pthread_join(thr_Var,&status); } 我的怀疑是,即使我禁用了
取消
状态,pthread_cancel仍然在工作,
线程
正在终止。
浏览 1
提问于2012-10-23
得票数 1
回答已采纳
1
回答
在用户空间中实现可
取消
的系统
、
、
、
、
我正致力于在
Linux
上实现
线程
取消
,而没有在我最近的一些问题中讨论过的“不愉快的行为”(有些人可能会说是bug)。到目前为止,
Linux
/glibc用于
取消
线程
的方法是将其视为不需要内核支持的东西,并且可以在库级别上进行处理,只需在创建syscall之前启用异步
取消
,并在syscall返回后恢复以前的
取消
状态。解决这个问题的第一个想法是设置
线程
位于
取消
点的标志,而不是启用异步
取消
,并且在
浏览 1
提问于2011-04-16
得票数 10
回答已采纳
1
回答
在运行java程序时更改
线程
优先级?
、
、
我正在64核计算机上运行一个大型多
线程
java作业。这个程序已经运行了几天了,我想改变一些由java创建的
线程
(不是主
线程
)的优先级,但是不
取消
和重新启动程序,因为这将浪费大量的时间和计算资源。是否有任何方法在运行时从OS (
linux
)更改
线程
优先级?我知道
linux
中的renice命令可以重命名整个进程,但是我正在寻找一种方法来改变在运行时创建的
线程
的优先级(这似乎并不仅仅发生在一个renice中)。
浏览 2
提问于2014-05-08
得票数 2
回答已采纳
2
回答
如何停止终端进程运行代码,包括
线程
?
、
、
我正在使用
线程
来同时运行多个功能,目的是从多个网站提取天气数据。我通过
Linux
终端运行这些程序,但是我无法通过按ctrl C来
取消
它们。我想让它们无限期地运行,因此不想添加完成时间,而是在必要时
取消
它们。有人知道为什么ctrl C不
取消
它们,以及如何修复这个问题吗?
浏览 2
提问于2017-07-01
得票数 3
回答已采纳
1
回答
Linux
驱动程序设置
取消
点
、
、
我正在为
Linux
编写一个简单的字符设备驱动程序,其中包含了块read()和write()。我想要做的是将它们设置为
取消
点,这样在这些函数上挂起的
线程
上调用pthread_cancel将导致其终止。提前谢谢。
浏览 6
提问于2016-10-12
得票数 1
回答已采纳
1
回答
原子“检查信号并进入系统调用”操作
、
、
、
我正在尝试在C++中实现我自己的
取消
点机制。该代码主要针对
Linux
,但我希望它可以在POSIX系统之间移植。由于显而易见的原因,每个阻塞的系统调用都必须是一个
取消
点,否则
线程
可能永远阻塞,没有任何东西能够唤醒它。目前我使用signal来实现这一点。当
线程
接收到表示
取消
请求的特殊信号时,信号处理程序设置
线程
本地标志。如果
线程
在某些系统调用上被阻塞,它将失败,并返回errno == EINTR。然后它将有机会检查旗帜。如果信号先来,然后
线程</e
浏览 0
提问于2013-01-30
得票数 3
3
回答
Linux
,
取消
阻塞读取()
、
、
、
、
在用于串行通信的多
线程
Linux
程序中,是否可以(最好的方法是什么)终止来自另一个
线程
的阻塞read()调用? 我希望尽可能保持一切反应,并避免使用重复轮询的超时。这个问题的背景是,我正在尝试使用JNI为
Linux
创建一个Scala串行通信库。我试图使本机方面尽可能简单,其中包括一个read()和close()函数。在Scala端,一个
线程
将调用read()并阻塞,直到来自串行端口的数据可用。但是,可以通过其他方式关闭串行端口,从而导致调用close()。现在,为了释放阻塞的
线程
,我需要
浏览 13
提问于2013-05-20
得票数 10
回答已采纳
2
回答
如何在vxworks或
linux
上
取消
阻塞的系统调用?
、
、
、
在任务II中running = true;close(fd); /* Or: close(sock);*/在vxworks中,有一个函数,ioctl(fd, FIOCANCEL, 0)
取消
一个阻塞的读写,但它不能工作。如何在vxworks和
linux
中编写任务II?或者还有其他方法来完成我的任务?
浏览 1
提问于2013-07-22
得票数 0
1
回答
Linux
POSIX in C程序
取消
线程
失败
、
、
、
、
我正在写一个程序,它读取不同
线程
中的部分数据,然后在其中找到一个模式。while (alive_threads) { //never ends, because alive_threads正在等待最后一个
线程
取消
。我还提供了我正在读取的文件的内容。.
浏览 0
提问于2012-06-04
得票数 0
回答已采纳
1
回答
为什么我需要在多
线程
程序中使用Pthread_sigmask来确保由set处理程序处理信号?
、
、
、
、
我有一个多
线程
程序,需要每隔25毫秒处理由setitimer()发送的
Linux
信号SIGVTALRM。但是我很困惑。我不知道为什么需要使用Pthread_sigmask()来阻塞和
取消
阻塞信号。在发送信号时,不管在给定时间处理哪个
线程
,信号都不会被处理吗?
浏览 0
提问于2016-12-07
得票数 1
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
linux多线程服务器
Linux系统编程 线程属性
Linux系统编程 线程同步概念
分享:C语言编程——LINUX 多线程
Android C++系列:Linux线程(一)概念
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
云直播
活动推荐
运营活动
广告
关闭
领券