b*********n 发帖数: 1258 | 1 【 以下文字转载自 Java 讨论区 】
发信人: babyfacenan (黑土), 信区: Java
标 题: 急问:怎么kill一个thread, thread.interrupte()不好用呀?
发信站: BBS 未名空间站 (Sun Apr 27 15:47:01 2008)
我在MainThread里同时start了两个thread: thread1, thread2
MainThread里等了2sec之后,想要kill thread2
thread2是去obtain一个url 的content,
一般情况thread2在2-3secs之后就return url content,但有时会take up to 10 sec
想要实现在2sec之后,
如果thread2没结束就强行结束,并返回nothing,
如果thread2结束了就返回url content.
用了:thread2.interrupt() 来强行结束thread2;
但是好像没有用呀,thread2还是在运行,并没有end
而且在我连续调用MainThread时,下一次的MainThread返回的url | j***n 发帖数: 301 | 2 简单地说,你不能从一个thread的外部将其终止。
process可以
【在 b*********n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 【 以下文字转载自 Java 讨论区 】 : 发信人: babyfacenan (黑土), 信区: Java : 标 题: 急问:怎么kill一个thread, thread.interrupte()不好用呀? : 发信站: BBS 未名空间站 (Sun Apr 27 15:47:01 2008) : 我在MainThread里同时start了两个thread: thread1, thread2 : MainThread里等了2sec之后,想要kill thread2 : thread2是去obtain一个url 的content, : 一般情况thread2在2-3secs之后就return url content,但有时会take up to 10 sec : 想要实现在2sec之后, : 如果thread2没结束就强行结束,并返回nothing,
| g*****g 发帖数: 34805 | 3 UTF
You can do something like
long stopTime = System.currentTimeMills() + 2000;
while((line=in.readLine())!=null && System.currentTimeMills() <=
stopTime) | f*****Q 发帖数: 1912 | |
|