网页资讯贴吧知道视频音乐图片地图文库
进入贴吧全吧搜索吧内搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
02月26日漏签0天
python吧 关注:392,210贴子:1,321,646
  • 看贴

  • 图片

  • 精品

  • 视频

  • 游戏

  • 7回复贴,共1页
<<返回python吧
>0< 加载中...

【技术帖】终止Python线程的方法

  • 只看楼主
  • 收藏

  • 回复
  • 小邪兽_
  • 探花
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

Python中的threading库是比较弱的, 下面有两种方法可以终止Python线程
方法一:抛出SystemExit异常
扩展Python标准库中threading模块的方法, 通过抛出SytemExit, 允许一个线程在另一个线程的上下文中引发异常然后完全的结束此线程:


下面通过一个gtk下载程序,来测试, 运行界面如下:

下载的过程中不停的打印index,当点击kill时,终止下载线程, 代码例子地址: neteue.com/article/kill-python-thread/

方法二:使用pthreadimport ctypes
pthread = ctypes.dll.LoadLibrary("libpthread-2.15.so")
pthread.pthread_cancel(ctypes.c_ulong(t.ident))
1. t为Thread对象
2. 最好捕获一下LoadLibrary的异常,以及其他异常问题,比如t已经结束了等。
3. 你所使用的python必须是pthread版本。
4. 核心在于Thread.ident其实就是pthread_create时候返回的pthread_t
5. 如果你需要使用这个方法,几乎可以肯定是程序的逻辑有问题,不是python故意不让你这么做。
6. 基于t.ident就是pthread_t,python代码其实可以做任何pthread能操作的操作。
windows上处理方式:
把libpthread-XXX.so换成Kernel32.dll
与pthread_cancel等价的是TerminateThread
与pthread_join等价的是WaitForSingleObject


  • 梦幻西游网页版
梦幻西游网页版!上线就送全红宝宝,无限洗宠,高爆率!
2021-02-26 07:23 广告
  • house妃鸽
  • 进士
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我觉得线程不能被粗鲁的结束,设置标志来结束比较好
这个题目对我来说题目太难,隔一段时间,等学习了再来看


  • reverland
  • 贡士
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
跪赞……


  • andsongliang
  • 贡士
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
不是pthread版本,望尘莫及。。。


  • 我就是宏病毒
  • 探花
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好久没看到大神了,很赞~


  • 积极向上小w
  • 状元
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼



好~




————————————————————————————————————————
*-*------OS:UNIX 分辨率:1024*600~~
————————————————————————————————————————
*-*------ChromeMozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36~~
————————————————————————————————————————
*-*@鼠标乱飘 =JL~~
————————————————————————————————————————


扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 7回复贴,共1页
<<返回python吧
分享到:
©2021 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示