Java 线程的创建
2016-01-14 15:49
405 查看
线程的创建有两种方法。一种方法是创建Thread类的子类,并在子类中重写run方法。如下:
另一种方法是创建Runable接口的实现类,并实现run方法,再以该类的对象作为参数传递,创建Thread对象并启动线程。具体如下:
第二种方式较第一方式更为常用,因为第二种方式实现的是接口,可以实现多继承,而且创建的多个线程可以共享同一个Runnable实现类的对象,从而实现资源共享。
当然,创建线程的时候也可根据需要采用匿名类的方式。如下:
// Thread类的子类 public class MyThread extends Thread{ // 无参构造方法 public MyThread(){} // 带参构造方法 public MyThread(String name){ super(name); } public void run() { System.out.println(getName()+ ": 这是Thread类的子类"); } } public class NewThread1 { public static void main(String[] args) { // 创建线程并启动 new MyThread().start(); new MyThread("第2个线程").start(); } }
另一种方法是创建Runable接口的实现类,并实现run方法,再以该类的对象作为参数传递,创建Thread对象并启动线程。具体如下:
public class MyRunnable implements Runnable { public void run() { System.out.println( Thread.currentThread().getName()+ ": 这是Runnable的实现类"); } } public class NewThread2 { public static void main(String[] args) { MyRunnable mr = new MyRunnable(); new Thread(mr).start(); new Thread(mr,"第2个线程").start(); } }
第二种方式较第一方式更为常用,因为第二种方式实现的是接口,可以实现多继承,而且创建的多个线程可以共享同一个Runnable实现类的对象,从而实现资源共享。
当然,创建线程的时候也可根据需要采用匿名类的方式。如下:
public class NewThreadTest3 { public static void main(String[] args) { // 继承Thread类 new Thread(){ public void run(){ System.out.println( "匿名类新建线程1"); } }.start(); // 实现Runnable接口 new Thread(new Runnable(){ public void run() { System.out.println( "匿名类新建线程2"); } }).start(); } }
相关文章推荐
- Android ADT 23.0.0无法更新到23.0.2问题解决方案
- C#动态创建button的方法
- C#线程间不能调用剪切板的解决方法
- SQLite 入门教程二 SQLite的创建、修改、删除表
- C#创建windows系统用户的方法
- C#线程同步的三类情景分析
- C#获取进程或线程相关信息的方法
- C#停止线程的方法
- PowerShell入门教程之创建和使用配置文件实例
- C#子线程更新UI控件的方法实例总结
- C#线程队列用法实例分析
- C++使用CriticalSection实现线程同步实例
- 基于C++实现的线程休眠代码
- MFC创建右键弹出菜单的方法
- MFC中动态创建控件以及事件响应实现方法
- 桌面中心(一)创建数据库
- VB读取线程、句柄及写入内存的API代码实例
- C#网络编程基础之进程和线程详解
- C#通过Semaphore类控制线程队列的方法
- C#多线程处理多个队列数据的方法