1、面试题:run()和start()的区别
// run():仅仅是封装被线程执行的代码,直接调用是普通方法
// start():首先启动了线程,然后再由jvm去调用该线程的run()方法。
问题:
// MyThread my = new MyThread();// my.start();// // IllegalThreadStateException:非法的线程状态异常// // 为什么呢?因为这个相当于是my线程被调用了两次。而不 是两个线程启动。// my.start(); // 创建两个线程对象MyThread my1 = new MyThread();MyThread my2 = new MyThread(); my1.start();my2.start();
新闻热点
疑难解答