黑马程序员技术交流社区

标题: 用四个线程往同一个线程里有序的投入数字,,并输出结果 [打印本页]

作者: 何亚辉    时间: 2016-5-16 22:55
标题: 用四个线程往同一个线程里有序的投入数字,,并输出结果
class Play5 {
        public static void main(String[] args) {
                Window w = new Window();
                 new Thread(w, "窗口1").start();
                 new Thread(w, "窗口2").start();
                 new Thread(w, "窗口3").start();
                 new Thread(w, "窗口4").start();         
}
}
class Window implements Runnable  {
        int[] arr = new int[20];
        int i =0;       
        Object lock = new Object();
       
        public  void run()  {
                 while (i<=20) {
                         synchronized (lock){
                         
                                         try {
                        Thread.sleep(200);
                }
                catch (InterruptedException e) {
                        e.printStackTrace();
                }
                if (i==20) {
                        for (int j =0;j<=19 ;j++ ) {
                                System.out.print(arr[j]+" ");
                        }
                        i++;
                        break;               
                }else if (i>20) {
                        break;
                }       
                        Thread t = Thread.currentThread();
                        arr[i]= (int)(100*Math.random())+1;
                System.out.println(t.getName() +"往数组里放入"+ arr[i++]);
                         }                       
                }
                }       
        }
       

作者: 何亚辉    时间: 2016-5-16 23:00
http://bbs.itheima.com/forum.php?mod=attachment&aid=MTEwMDA4fGQ1Y2Q0MjFmYTNlNWExMjE1ZjM1ZmYyODZlYjZjMGMwfDE3MjY3NjE3MzY%3D&request=yes&_f=.png

@9CZL7YPQ[)IBXV%(X`B@GA.png (17.15 KB, 下载次数: 26)

@9CZL7YPQ[)IBXV%(X`B@GA.png





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2