线程调用的问题
我有两个线程一个是Mythread,Mythread_2都继承了Thread这个类。
但是我用
1)Mythread mt = new Mythread();
Mythread_2 mt_2 = new Mythread_2();
mt.start();
mt_2.start();
2)Mythread mt = new Mythread();
Mythread_2 mt_2 = new Mythread_2();
Thread mt = new Thread(mt);
Thread mt_2 = new Thread(mt_2);
mt.start();
mt_2.start();
我想了解一下这两种方法来启动线程有什么区别么,具体是怎样运行的
继承Thread类,直接调用 start()方法。不必要再把它当做参数放在新new出来的Thread()对象中。因为它本身就是一个线程了。
第二种:
实现Runnable接口。然后new一对象,当作参数传递给Thread()的构造方法中。
强烈建议,能实现Runnable接口的,就不要继承Thread。因为,java只支持单继承,你若再想继承别的类就不行了。
如有疑问联系我。