java关于thread线程的问题,不能用sleep方法,因为暂停的时间不确认,用户随时都可能暂停,随时可能再启动
privatevoidtest(){newThread(){publicvoidrun(){while(true){try{Thread.sleep(4000);}cat...
private void test(){
new Thread(){
public void run() {
while(true){
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(isstop){
break;
}
i++;
System.out.println("hello");
}
};
}.start();
}
当用户点暂停的时候 isstop=true;
这样就可以了,但是有个问题,在线程执行的4s内,如果用户多次点启动线程,这样就会同时运行多个一样的线程,但只需要一个线程就可以了,不知怎么搞,难啊,帮看看
线程里做的是循环的操作 用户可以暂停循环 之后可以再次启动 循环内容可以打印字符串 展开
new Thread(){
public void run() {
while(true){
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(isstop){
break;
}
i++;
System.out.println("hello");
}
};
}.start();
}
当用户点暂停的时候 isstop=true;
这样就可以了,但是有个问题,在线程执行的4s内,如果用户多次点启动线程,这样就会同时运行多个一样的线程,但只需要一个线程就可以了,不知怎么搞,难啊,帮看看
线程里做的是循环的操作 用户可以暂停循环 之后可以再次启动 循环内容可以打印字符串 展开
4个回答
展开全部
获得用户启动线程的时间,但用户重现点击启动时,替换前面的时间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public void run() {
while(控制){ 一般是改变这个的吧
while(控制){ 一般是改变这个的吧
追问
呵呵,和break;功能一样吧 不过break要灵活些
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你没有绑定线程。
追问
请问下如何绑定线程?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询