黑马程序员技术交流社区
标题:
线程中start()方法调用问题
[打印本页]
作者:
zhangx
时间:
2013-4-17 18:19
标题:
线程中start()方法调用问题
线程启动的start()方法,为什么在Thread类中重复调用start()方法时,系统会抛出异常?这样的问题是记住结论还是理解原理?
如:
class MyThread extends Thread{ // 继承Thread类,作为线程的实现类
private String name ; // 表示线程的名称
public MyThread(String name){
this.name = name ; // 通过构造方法配置name属性
}
public void run(){ // 覆写run()方法,作为线程 的操作主体
for(int i=0;i<10;i++){
System.out.println(name + "运行,i = " + i) ;
}
}
};
public class ThreadDemo{
public static void main(String args[]){
MyThread mt1 = new MyThread("线程A ") ; // 实例化对象
mt1.start() ; // 调用线程主体
mt1.start() ; // 重复调用
}
};
作者:
爪哇攻城狮
时间:
2013-4-17 18:42
同一线程对象,你启动了2次,会报IllegalThreadStateException异常,
通过new一个线程对象 。start启动一次。
作者:
董霁辉
时间:
2013-4-17 19:24
Thread类的start方法不能多次调用,否则会抛出一个IllegalThreadStateException异常。记住吧,你的程序已经帮你验证了
作者:
Miss小强
时间:
2013-4-17 19:40
这个细节问题都没怎么注意啊,不知道会不会抛异常,反正一个线程只会被启动一次。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2