如何在一行代码里启动多个线程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在一行代码里启动多个线程相关的知识,希望对你有一定的参考价值。
参考技术Astart(),run() 都是Thread 类里的静态方法。操作方法如下:
1、创建一个JAVA工程。
2、新建一个ThreadTest类并创建一个attack方法。
3、在main方法中new一个线程并在run方法中执行attack()方法。
4、运行main方法,控制台只有一个线程说明run()方法只是Thread的一个普通方法调用。
5、使用start()。
6、控制台打印两个线程,说明调用start()方法会创建一个新的子线程并启动。
java中如何启动一个新的线程
参考技术Ajava开启新线程的三种方法:
方法1:继承Thread类
1):定义一个继承自Java.lang.Thread类的类A.
2):覆盖A类Thread类中的run方法。
3):我们编写需要在run方法中执行的操作:run方法中的代码,线程执行体。
4):在main方法(线程)中,创建一个线程对象并启动线程。
(1)创建线程类对象:
A类 a = new A类();
(2)调用线程对象的start方法:
a.start();//启动一个线程
注意:不要调用run方法。如果run方法被称为对象调用方法,则仍然只有一个线程,并且没有启动新线程。
创建启动线程实例:
方法2:实现Runnable接口
1):定义要在java.lang.Runnable接口中实现的类A.请注意,A类不是线程类。
2):覆盖A类Runnable接口中的run方法。
3):我们编写需要在run方法中执行的操作:在run方法中,线程执行。
4):在main方法(线程)中,创建一个线程对象并启动线程。
(1)创建线程类对象:
Thread t = new Thread(new A());
(2)调用线程对象的start方法:
t.start();
代码实例:
方法3:直接在函数体使用
扩展资料:
启动新线程的两种方式对比
继承方式:
1):从设计上分析,Java中类是单继承的,如果继承了Thread了,该类就不能再有其他的直接父类了.
2):从操作上分析,继承方式更简单,获取线程名字也简单.(操作上,更简单)
3):从多线程共享同一个资源上分析,继承方式不能做到.
实现方式:
1):从设计上分析,Java中类可以多实现接口,此时该类还可以继承其他类,并且还可以实现其他接口,设计更为合理.
2):从操作上分析,实现方式稍微复杂点,获取线程名字也比较复杂,得使用Thread.currentThread()来获取当前线程的引用.
3):从多线程共享同一个资源上分析,实现方式可以做到(是否共享同一个资源).
补充:实现方式获取线程名字:
String name = Thread.currentThread().getName();
以上是关于如何在一行代码里启动多个线程的主要内容,如果未能解决你的问题,请参考以下文章
Android第一行代码学习笔记五---隐式Itent启动其它程序的活动
如何在一行代码中将多个子视图添加到我的 iOS 视图中? (也许通过“monkeypatching”一个 `addSubviews` 实例方法到 UIView?)