java 线程2
2016-03-09 21:26
288 查看
实现Runnable接口的类必须使用Thread类的实例才能创建线程。通过Runnable接口创建线程分为两步:
1. 将实现Runnable接口的类实例化。
2. 建立一个Thread对象,并将第一步实例化后的对象作为参数传入Thread类的构造方法。
最后通过Thread类的start方法建立线程。
下面的代码演示了如何使用Runnable接口来创建线程:
package mythread;
public class MyRunnable implements Runnable
{
public void run()
{
System.out.println(Thread.currentThread().getName());
}
public static void main(String[] args)
{
MyRunnable t1 = new MyRunnable(); //有了实现Runnable对象,但还不算是线程
MyRunnable t2 = new MyRunnable();
Thread thread1 = new Thread(t1, "MyThread1"); //还是需要通过Thread来执行。实现了Runnable的对象作为参数
Thread thread2 = new Thread(t2);
thread2.setName("MyThread2");
thread1.start(); //Thread类对象真正控制线程的执行
thread2.start();
}
}
上面代码的运行结果如下:
MyThread1
MyThread2
使用实现Runnable接口来实现线程实际上和继承Thead没太大的差别。只是将已经实现了接口的类的对象,如:t1,t2,作为参数传给Thread类对象
1. 将实现Runnable接口的类实例化。
2. 建立一个Thread对象,并将第一步实例化后的对象作为参数传入Thread类的构造方法。
最后通过Thread类的start方法建立线程。
下面的代码演示了如何使用Runnable接口来创建线程:
package mythread;
public class MyRunnable implements Runnable
{
public void run()
{
System.out.println(Thread.currentThread().getName());
}
public static void main(String[] args)
{
MyRunnable t1 = new MyRunnable(); //有了实现Runnable对象,但还不算是线程
MyRunnable t2 = new MyRunnable();
Thread thread1 = new Thread(t1, "MyThread1"); //还是需要通过Thread来执行。实现了Runnable的对象作为参数
Thread thread2 = new Thread(t2);
thread2.setName("MyThread2");
thread1.start(); //Thread类对象真正控制线程的执行
thread2.start();
}
}
上面代码的运行结果如下:
MyThread1
MyThread2
使用实现Runnable接口来实现线程实际上和继承Thead没太大的差别。只是将已经实现了接口的类的对象,如:t1,t2,作为参数传给Thread类对象
相关文章推荐
- Java之泛型进阶——泛型代码转化为普通代码
- java线程一
- Eclipse中自动import包
- Java反射的学习
- Java 入门 之 抽象类
- Spring 的容器
- Java多线程实现异步调用
- 对比: Java EE EJB和 Spring Java Bean
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- 160309、Spring AOP操作action时无法注入,报空指针错误
- JAVA基础(三)抽象类和抽象函数
- Java 进阶 之 抽象类与接口 概念(一)
- Java学习总结--多线程
- LeetCode : Substring with Concatenation of All Words [java]
- Spring JdbcTemplate API
- JAVA-冒泡排序,归并排序,快速排序,堆排序学习
- Java中synchronized如何正确同步
- Java学习总结--初始化块
- Java robot类的getPixelColor问题
- 15. SpringMVC 执行定时任务,处理静态资源,配置视图解析器