Java中多线程的创建方法
来源:互联网 发布:郑州淘宝网店加盟被抓 编辑:程序博客网 时间:2024/05/21 08:02
摘要:本文主要介绍java中创建多线程的两种方法及其相互关系和优缺点
方法概述
方法1:继承Thread类;重写run方法;在主程序中调用新创建类的start方法。主要代码逻辑如下:
//创建线程类
publicclassThreadDemo1extends Thread
{
publicvoid run()
{
System.out.println("ThreadDemo1 run....");
}
}
//运行线程
publicclassThreadTest
{
publicstaticvoid main(String[]args)
{
ThreadDemo1t1 =new ThreadDemo1();
t1.start();
}
}
方法2:实现Runnable接口中的run方法;用Runnable对象创建一个Thread对象并调用Thread对象的start方法。主要的代码逻辑如下:
//创建Runnable类
publicclassRunnableDemo1implements Runnable
{
@Override
publicvoid run()
{
System.out.println("RunnableDemo1 run....");
}
}
//运行线程
publicclassThreadTest
{
publicstaticvoid main(String[]args)
{
Runnabler1 =new RunnableDemo1();
Threadt2 =new Thread(r1);
t2.start();
}
}
【说明】
1.两种线程创建方法都需要重写run方法,run方法封装了线程的运行任务
2. new出一个线程后并没有启动线程,两种方法都需要显式的调用start方法来启动线程。
两种方法的比较
根据以上的描述发现:方法1是使用继承的方法,方法2使用的是实现接口的方法。因此使用继承的方法避免不了java中单一继承的缺陷,同时也继承了Thread类中大部分不必要的功能;而使用实现Runnable接口的方法,就显得简单小巧,因为Runnable接口中只声明了一个run方法,只需将线程运行任务封装在该方法中即可;实际上通过观察源码可以发现Thread类也implements了Runnable接口,并且保存了一个Runnable类型的实例变量,Thread类的run方法也只是调用了该实例变量的run方法。综上所述:使用实现Runnable接口的方法简单小巧又语义明确,将任务封装成对象;同时避免了java单一继承的局限性,因此这是一种常用的方法。
- Java中多线程的创建方法
- 简单模拟Java中创建多线程的两种方法
- 【黑马程序员】java多线程创建的俩中方法总结
- java多线程创建方法
- OC中多线程的创建方法
- 创建Java多线程的多种方法
- java创建多线程方法之间的区别
- [java多线程]创建线程的两个方法
- java创建多线程的两种方法
- Java创建多线程的几种方法
- Java创建多线程的三种方法
- 创建Java多线程的多种方法ouchuquan
- java多线程的创建及常用方法
- java -- 多线程的两种创建方法
- Java中的创建多线程的方法
- java创建多线程的三种方法
- Java创建多线程的三种方法
- Java多线程的创建(方法一)
- 色彩表示与编码
- HTML 表单
- .Net之路,感谢对我深远影响的三位前辈
- buct12月月赛总结
- 单链表的逆序打印
- Java中多线程的创建方法
- java--集合--BlockingQueue
- GO语言补充(三)
- 高性能网络编程(二)----TCP消息的发送
- Shiro之手动踢掉用户-yellwcong
- 工作周报-2017年12月17日
- 泛型2
- curl使用实例
- (python3)1076. Wifi密码 (15分)——2017-12考题