如何在一行代码里启动多个线程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在一行代码里启动多个线程相关的知识,希望对你有一定的参考价值。

参考技术A

start(),run() 都是Thread 类里的静态方法。操作方法如下:

1、创建一个JAVA工程。

2、新建一个ThreadTest类并创建一个attack方法。

3、在main方法中new一个线程并在run方法中执行attack()方法。

4、运行main方法,控制台只有一个线程说明run()方法只是Thread的一个普通方法调用。

5、使用start()。

6、控制台打印两个线程,说明调用start()方法会创建一个新的子线程并启动。

java中如何启动一个新的线程

参考技术A

java开启新线程的三种方法:

方法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();



以上是关于如何在一行代码里启动多个线程的主要内容,如果未能解决你的问题,请参考以下文章

网络编程之多线程

VB关于搜索文本的代码···

Event Loop详解

如何将迅雷设为线程2(单线程2号)?

Android第一行代码学习笔记五---隐式Itent启动其它程序的活动

如何在一行代码中将多个子视图添加到我的 iOS 视图中? (也许通过“monkeypatching”一个 `addSubviews` 实例方法到 UIView?)