A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 在学野马 中级黑马   /  2014-10-5 14:16  /  1147 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 在学野马 于 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
}


4 个回复

倒序浏览
两个线程分别往同一个数组放入3个随机数,然后主线程读取数组。
回复 使用道具 举报
付江涛 发表于 2014-10-5 14:24
两个线程分别往同一个数组放入3个随机数,然后主线程读取数组。

计数的是怎么回事
回复 使用道具 举报

计数?next吗?当然是角标喽。
回复 使用道具 举报
计数?next吗?当然是角标喽。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马