1.java中创建线程的方式
1>继承Thread类,重写run()方法;
2>实现Runnable接口,实例化Thread类
2.继承Thread类
实现代码
new Thread(){
@Override
public void run(){
while(true){
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}.start();
方法步骤
1>定义一个类(TestThread)继承Thread;
2>重写run()方法;
3>创建多线程对象;
4>对象调用start()方法,开启一个线程
3.实现Runnable接口
实现代码
new Thread(new Runnable(){
public void run(){
while(true){
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName());
}
}
}).start();
方法步骤
1>定义一个类(如PrimeRun)实现Runnable接口,覆盖Runnable接口中的run方法;
2>通过Thread类建立线程对象,将Runnable接口的子类实例对象作为实际参数传递给Thread类的构造方法;
4.两种方式的对比分析
相对于继承Thread类来说,实现Runnable接口有以下优点
1>适合多个线程处理同一资源的情况;
2>可以避免java单继承带来的局限性;
3>有利于程序的健壮性,代码能被多个线程共享,实现代码和数据的独立。