JAVA-多线程-创建线程的三种方式
2021-02-07 14:17
标签:start main dex roc string vat 轻量级 out 解决 多线程不会提高程序运行速度,但是会提高运行效率。 通用的获取线程名称方法: Runnable接口的实现类只需要做一件事,那就是重写run()方法。好处是: 在JDK1.5前的程序员将多个线程封装到ArrayList集合中,用这种方式来进行简化创建线程的操作。在JDK1.5后java添加了线程池的功能。 所有的类的实例化完全可以使用匿名类进行处理,这样会让代码更简洁,也不会占用过多资源。 JAVA-多线程-创建线程的三种方式 标签:start main dex roc string vat 轻量级 out 解决 原文地址:https://www.cnblogs.com/torain/p/12775844.htmlJAVA-多线程-创建线程的三种方式
创建和使用线程的三种方式
继承Thread类创建的线程类
Thread类构造方法摘要
Thread() // 分配新的 Thread 对象。
Thread(String name) // 分配新的 Thread 对象。
Thread(Runnable target) // 分配新的 Thread 对象。
Thread(Runnable target, String name) //分配新的 Thread 对象。
Thread类方法摘要
currentThread() // 返回对当前正在执行的线程对象的引用。
getName() // 返回该线程的名称。
run() // 如果该线程是使用独立的 Runnable 运行对象构造的,则调用该 Runnable 对象的 run 方法;否则,该方法不执行任何操作并返回。
setName(String name) // 改变线程名称,使之与参数 name 相同。
start() //使该线程开始执行;Java 虚拟机调用该线程的 run 方法。
sleep(long millis) //在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。
Thread.currentThread().getName();
创建过程
代码
// Thread子类
public class MyThread extends Thread{
public MyThread() {
super();
}
public MyThread(String name) {
super(name);
}
// Override描述线程任务
public void run() {
for (int i = 0;i
// 主线程
public static void main(String[] args) {
// 创建线程对象
MyThread mt = new MyThread("main");
// 开启线程
mt.start();
}
实现Runnable接口创建线程
使用Runnable接口的好处
创建过程
代码
// Runnable实现类
public class MyRunnable implements Runnable{
// 重写run()方法
public void run() {
for (int i = 0;i
// 主线程
public static void main(String[] args) {
// 创建线程任务对象
MyRunnable mr = new MyRunnable();
// 创建线程对象并明确线程任务
Thread th = new Thread(mr);
// 启动线程
th.start();
// 描述主线程的任务
for (int i=0;i
使用线程池创建线程
方法和类
创建过程
代码
// Callable实现类
public class TestCallable implements Callable
// 主线程
public static void main(String[] args) {
// 实例化线程池
ExecutorService es = Executors.newFixedThreadPool(3);
// 实例化Callable类
TestCallable tc = new TestCallable(10);
// 使用地址池实例创建线程并使用Future实例接收
Future
最后
文章标题:JAVA-多线程-创建线程的三种方式
文章链接:http://soscw.com/index.php/essay/52219.html