java多线程并行执行

时间:2022-09-08 18:47:11
java代码

public class ThreadTest1 {

public static void main(String[] args) {
   ThreadTest1 threadTest=new ThreadTest1();

//第一线程
ThreadTest1.FirstThread firstThread=threadTest.new FirstThread();
firstThread.start();

//第二线程
threadTest.new SecThread().start();

//第三线程
threadTest.new ThirdThread().start();

}
class FirstThread extends Thread{
    
public void run() {
System.out.println("线程1-----------------");
for (int i = 0; i < 6; i++) {
System.out.println("线程1-------------"+i);
}
}

}
class SecThread extends Thread{
public void run() {
System.out.println("线程2------------------");
for (int i = 0; i < 6; i++) {
System.out.println("线程2-------------"+i);
}
}
}
class ThirdThread extends Thread{
public void run() {
System.out.println("线程3-------------------");
for (int i = 0; i < 6; i++) {
System.out.println("线程3-------------"+i);
}
}
}

}

运行结果:
线程1-----------------
线程2------------------
线程1-------------0
线程1-------------1
线程1-------------2
线程1-------------3
线程1-------------4
线程1-------------5
线程2-------------0
线程2-------------1
线程3-------------------
线程2-------------2
线程3-------------0
线程2-------------3
线程3-------------1
线程2-------------4
线程3-------------2
线程2-------------5
线程3-------------3
线程3-------------4
线程3-------------5

并发性 (concurrency),又称共行性,是指能处理多个同时性活动的能力,并发事件之间不一定要同一时刻发生.
并行 (parallelism) 是指同时发生的两个并发事件,具有并发的含义,而并发则不一定并行.

这应该是线程的并发,如何做到线程的并行执行呢?
即得到结果:
线程1-----------------
线程1-------------1
线程2------------------
线程2-------------1
线程3------------------
线程3-------------1
。。。。。。

8 个解决方案

#1


该回复于2017-07-14 16:34:57被管理员删除

#2


LZ尝试下sleep()方法,可以让线程休眠,例如可以让线程2:sleep(100),让线程3:sleep(200)。这样应该可以达到lz想要的效果!

#3


线程同步啊,用wait/notify

#4


买个多cpu的机器!~

#5


是用线程的同步。。。。

#6


new 出一个线程调用了start方法之后调用join方法 

#7


线程1-----------------//这个貌似不能重复打印出来吧 run方法启动后就只会打印一次
线程1-------------1    //这个可以重复打印
线程2------------------
线程2-------------1
线程3------------------
线程3-------------1
线程1-----------------
线程1-------------2
线程2------------------
线程2-------------2
线程3------------------
线程3-------------2

#8


用线程并发库里的方法可以解决

#1


该回复于2017-07-14 16:34:57被管理员删除

#2


LZ尝试下sleep()方法,可以让线程休眠,例如可以让线程2:sleep(100),让线程3:sleep(200)。这样应该可以达到lz想要的效果!

#3


线程同步啊,用wait/notify

#4


买个多cpu的机器!~

#5


是用线程的同步。。。。

#6


new 出一个线程调用了start方法之后调用join方法 

#7


线程1-----------------//这个貌似不能重复打印出来吧 run方法启动后就只会打印一次
线程1-------------1    //这个可以重复打印
线程2------------------
线程2-------------1
线程3------------------
线程3-------------1
线程1-----------------
线程1-------------2
线程2------------------
线程2-------------2
线程3------------------
线程3-------------2

#8


用线程并发库里的方法可以解决