当前位置: 技术问答>java相关
初学者的线程问题
来源: 互联网 发布时间:2015-05-29
本文导语: class CounterThread extends Thread { public boolean ifstopped=false;//由外部设置以结束该进程 public void start() { while(!stopped) { ...... } } } 怎么能让多个这样的进程实例同时或连续开始,因...
class CounterThread extends Thread
{
public boolean ifstopped=false;//由外部设置以结束该进程
public void start()
{
while(!stopped)
{
......
}
}
}
怎么能让多个这样的进程实例同时或连续开始,因为只要调用其中任何实例的start()就已经开始循环,在实例结束前没法调用其他实例的start()了。是不是用
ThreadGroup解决??望各位指点一二
另外如果多个进程调用了无参数的wait()而等待,用notifyall()恢复是否最好
{
public boolean ifstopped=false;//由外部设置以结束该进程
public void start()
{
while(!stopped)
{
......
}
}
}
怎么能让多个这样的进程实例同时或连续开始,因为只要调用其中任何实例的start()就已经开始循环,在实例结束前没法调用其他实例的start()了。是不是用
ThreadGroup解决??望各位指点一二
另外如果多个进程调用了无参数的wait()而等待,用notifyall()恢复是否最好
|
Java的线程是这样:
调用者通过调用继承Thread的类的start,将线程挂入线程队列,然后系统在获得控制权时,从队列中选取一个线程执行其run。所以不能重载start,而是应该重载run,在run中进行相应的操作。
调用者通过调用继承Thread的类的start,将线程挂入线程队列,然后系统在获得控制权时,从队列中选取一个线程执行其run。所以不能重载start,而是应该重载run,在run中进行相应的操作。