如何多次启动线程

我写了一个子线程t1,并在主线程main()里调用它:t1.start().然后t1线程就开始了.但我要反复调用这个子线程.我就把start()写到了一个循环里.但是运行... 我写了一个子线程t1,并在主线程main()里调用它:t1.start().然后t1线程就开始了.但我要反复调用这个子线程.我就把start()写到了一个循环里.但是运行出错,说t1已经started了.大家看怎么改?我是应该只start()一次,以后用别的方法来反复运行它?还是需要写个结束线程的代码,这样就可以重新start了?
很抱歉,那样也不能启动多次
展开
 我来答
好大木头
2008-09-24 · TA获得超过1434个赞
知道大有可为答主
回答量:1705
采纳率:0%
帮助的人:1944万
展开全部
线程如果是 extends Thread 这种,如果你直接的

Thread t = new MyThread();
t.start();

当然只能启动一次。 不过你可以

new Thread(t).start(); 这样就可以启动多次了。
所以建议线程应该 implements Runnable 而不是extends Thread

=====================================================
class MyThread implements Runnable {
。。。。
}

public void main.... {
MyThread t = new MyThread();
new Thread(t).start();
new Thread(t).start();
new Thread(t).start();
new Thread(t).start();
// 可以启动多次
}
59916224
2008-09-23 · TA获得超过565个赞
知道小有建树答主
回答量:568
采纳率:60%
帮助的人:299万
展开全部
class test{
class mutilthread extends Thread{
public void run(){
//do..
}
}
test(){
for(int i=0;i<10;i++){
new mutilthread().start();
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3b46a7f
2008-09-23 · TA获得超过2520个赞
知道小有建树答主
回答量:735
采纳率:0%
帮助的人:0
展开全部
在你这个线程的run方法里面执行循环就可以了

答案补充:
哦 楼上给出答案了,正解!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ping3021
2008-09-23 · TA获得超过488个赞
知道小有建树答主
回答量:378
采纳率:0%
帮助的人:290万
展开全部
实验下:
while(true) {
t1 = new Thread1();
t1.start()
} 你每次重新生成这个对象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式