背景
Java实现多线程,通过Runnable接口。
实现
主函数
package itheima0;
public class MyRunnableDemo {
public static void main(String[] args){
//创建MyRunnable类的对象
MyRunnable my = new MyRunnable();
//创建Thread类的对象,把MyRunnable对象作为构造方法的参数
//Thread(Runnable target)
Thread t0 = new Thread(my);
Thread t1 = new Thread(my);
Thread t2 = new Thread(my,"线程3"); //为线程设置名称
Thread t3 = new Thread(my,"线程4");
//启动线程
t0.start();
t1.start();
t2.start();
t3.start();
}
}
Runnable类
package itheima0;
public class MyRunnable implements Runnable{
@Override
public void run(){
for( int i = 0; i < 100; i++ ){
System.out.println(Thread.currentThread().getName() + ':' +i);
}
}
}
总结
实现多线程有两种方式:
- 继承Thread类
- 实现Runnable接口
相比继承Thread类,实现Runnable接口的好处:
- 避免了Java单继承的局限性;
- 适合多个相同程序的代码去处理同一个资源的情况,把线程和程序的代码、数据有效分离,较好地体现了面向对象的设计思想。