读书人

[d]请教Python怎么向线程中发送中断请

发布时间: 2012-12-17 09:31:40 作者: rapoo

[d]请问Python如何向线程中发送中断请求?
本帖最后由 fibbery 于 2012-10-05 18:18:04 编辑 某线程中正在执行任务,此时想中断任务。
要达到类似于Control+C的效果,而不是杀掉线程。
-----------------------------
Double行动:
原帖分数:40
[最优解释]
举个最简单的例子,暂停当前线程:

#========================================================
# author:ago
# 2012/09/14 9:25:52
#========================================================
import win32api, win32process ,time

print 'start suspend...'
tid = win32api.GetCurrentThreadId()
print "TID:%d" %tid

time.sleep(3)
obj = win32api.GetCurrentThread()
print repr(obj)
win32process.SuspendThread(obj)

[其他解释]
这种设计都是根据应用逻辑需求进行设计的, 没有通用的方法.

1, epoll + dead pipe
2, sig_atomic_t flag + loop
3, sigsuspend + pthread_kill
4, mutex + cond

你得说明你的线程里是干什么的,怎么干的.
[其他解释]
使用win32 API函数:
OpenThread-》SuspendThread
[其他解释]
使用win32 API函数:
OpenThread-》SuspendThread
[其他解释]
能否详细点……
引用:
使用win32 API函数:
OpenThread-》SuspendThread

[其他解释]
引用:
能否详细点……

引用:
使用win32 API函数:
OpenThread-》SuspendThread

使用pywin32
http://blog.sina.com.cn/s/blog_5f5833740100m8e3.html
[其他解释]
引用:
能否详细点……

引用:
使用win32 API函数:
OpenThread-》SuspendThread

使用pywin32
http://blog.sina.com.cn/s/blog_5f5833740100m8e3.html
[其他解释]
不懂啊
引用:
引用:
能否详细点……

引用:
使用win32 API函数:
OpenThread-》SuspendThread

使用pywin32
http://blog.sina.com.cn/s/blog_5f5833740100m8e3.html

[其他解释]
我要中断下面t1或t2的任务,要怎么做?


import time
import thread
import win32api, win32process

def timer(no, interval):
while 1:
print 'Thread:(%d) Time:%s\n'%(no, time.ctime())
time.sleep(interval)



t1 = thread.start_new_thread(timer,(1,1))
t2 = thread.start_new_thread(timer,(2,2))

time.sleep(100)

引用:

举个最简单的例子,暂停当前线程:

Python code

#========================================================
# author:ago
# 2012/09/14 9:25:52 ……

[其他解释]
还有,win32process.SuspendThread(obj)是暂停还是中断呢?
我想要的是中断,不是暂停。

引用:
举个最简单的例子,暂停当前线程:

Python code

#========================================================
# author:ago
# 2012/09/14 9:25:52 ……

[其他解释]
或者有没有其它好的方法,来达到中断线程中任务的目的?
[其他解释]
引用:
还有,win32process.SuspendThread(obj)是暂停还是中断呢?
我想要的是中断,不是暂停。


引用:
举个最简单的例子,暂停当前线程:

Python code

#========================================================
# author:ago
# 2012/09/14 9:……

暂停
[其他解释]
那要怎么中断啊?
执行的过程中想停止,没有遇到过这种需求么?
[其他解释]
杀掉线程?能吗
[其他解释]
线程里在执行一个命令,这个命令会花一些时间。执行时就像在正常命令行下执行一样,无法再接受指令。
在界面上有个停止按钮,我想实现按一下停止按钮,线程中的任务就中断执行。

引用:
这种设计都是根据应用逻辑需求进行设计的, 没有通用的方法.

1, epoll + dead pipe
2, sig_atomic_t flag + loop
3, sigsuspend + pthread_kill
4, mutex + cond

你得说明你的线程里是干什么的,怎么干的.

[其他解释]
然后我还可以再次在此线程中执行这个命令

读书人网 >perl python

热点推荐