黑马程序员技术交流社区

标题: 帮忙解读下这个程序 [打印本页]

作者: 在学野马    时间: 2014-10-5 14:16
标题: 帮忙解读下这个程序
本帖最后由 在学野马 于 2014-10-7 19:48 编辑

public class Share implements Runnable{

        private static int[]arr=new int[6];
        private static int next=0;
        /**
         * @param args
         * @throws Exception
         */
        public static void main(String[] args) throws Exception {
                // TODO Auto-generated method stub

                new Thread(new Share()).start();
                new Thread(new Share()).start();
                Thread.sleep(2000);
                for(int i:arr){
                        System.out.print("   "+i+"\t");
                }
        }

        @Override
        public void run() {
                // TODO Auto-generated method stub
                try {
                        Thread.sleep(500);
                        synchronized(Share.class){
                        for(int i=0;i<3;i++){
                                int number=(int) (Math.random()*10+1);
                                arr[next]=number;
                                System.out.println(arr[next]);
                                next++;
                        }
                        }
                } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
        }
不能是主线程随机产生 两个子线程再分享他吗  还有那个arr和next
}



作者: 付江涛    时间: 2014-10-5 14:24
两个线程分别往同一个数组放入3个随机数,然后主线程读取数组。
作者: 在学野马    时间: 2014-10-5 17:24
付江涛 发表于 2014-10-5 14:24
两个线程分别往同一个数组放入3个随机数,然后主线程读取数组。

计数的是怎么回事
作者: 付江涛    时间: 2014-10-5 18:13
在学野马 发表于 2014-10-5 17:24
计数的是怎么回事

计数?next吗?当然是角标喽。
作者: 郭.威    时间: 2014-10-6 15:34
计数?next吗?当然是角标喽。




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