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
#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
线程1-------------1 //这个可以重复打印
线程2------------------
线程2-------------1
线程3------------------
线程3-------------1
线程1-----------------
线程1-------------2
线程2------------------
线程2-------------2
线程3------------------
线程3-------------2
#8
用线程并发库里的方法可以解决
#1
#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
线程1-------------1 //这个可以重复打印
线程2------------------
线程2-------------1
线程3------------------
线程3-------------1
线程1-----------------
线程1-------------2
线程2------------------
线程2-------------2
线程3------------------
线程3-------------2
#8
用线程并发库里的方法可以解决