懵懂的菜鸟

Stay hungry,Stay foolish.

导航

java多线程

java的多线程操作:

虽然每次结果不同,但是第一个空格之前必然有 0 1 2 3 4 这四个数字,这是因为第一个空格出现,意味着第一个线程执行完毕,必然会打印这四个数字。又因为线程并发执行,所以后面两个线程个别数字可能会提前打印,这就导致了答案有很多。

 

 1 package test.campus;
 2 import java.util.Scanner;
 3 public class Main2 {
 4     public static void main(String[] args) {
 5         Thread[] ths=new Thread[3];
 6         for(int i=0;i<3;i++){
 7             ths[i]=new Thread(new Runnable(){
 8                 @Override
 9                 public void run(){
10                     for(int j=0;j<5;j++){
11                         System.out.print(j);
12                     }
13                     System.out.print(" ");
14                 }
15                 
16             });
17         }
18         for(Thread th:ths){
19             th.start();
20         }
21         
22     }
23 
24 }

每次的执行结果都一样:


虽然每次结果不同,但是第一个空格之前必然有 0 1 2 3 4 这四个数字,这是因为第一个空格出现,意味着第一个线程执行完毕,必然会打印这四个数字。又因为线程并发执行,所以后面两个线程个别数字可能会提前打印,这就导致了答案有很多。

posted on 2017-09-20 17:30  懵懂的菜鸟  阅读(182)  评论(0编辑  收藏  举报