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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.util.Random;
/***
*  开启两个线程每隔一段时间分别向一个共享数组中添加元素,每个线程添加3个即可。
*
*/
public class ShareDemo {
        // 共享数组
        private String[] shareArray = new String[6];
        // 数组当前下标
        private int currentIndex = 0;
       
        /*********** 线程实现 ****************/
        // 往数组中存数据的线程
        public class MyThread extends Thread {
                MyThread(String name) {
                        super(name);
                }

                @Override
                public void run() {
                        for (int i = 0; i < 3; i++) {
                                synchronized (shareArray.getClass()) {
                                        // 往数组中添加数据
                                        shareArray[currentIndex++] = Thread.currentThread()
                                                        .getName() + "存入:" + new Random().nextInt(10);
                                }

                                try {
                                        // 存一个休眠一秒
                                        this.sleep(1000);
                                } catch (InterruptedException e) {
                                        e.printStackTrace();
                                }
                        }
                }
        }

        public static void main(String[] args) {
                ShareDemo demo = new ShareDemo();
                // 实例化两个线程添加元素
                MyThread t1 = demo.new MyThread("线程1");
                MyThread t2 = demo.new MyThread("线程2");
                // 启动线程
                t1.start();
                t2.start();
                try {
                        // 加入线程(保证子线程能够充分执行)
                        t1.join();
                        t2.join();
                } catch (InterruptedException e) {
                        e.printStackTrace();
                }

                // 遍历集合
                for (int i = 0; i < demo.shareArray.length; i++) {
                        System.out.println(demo.shareArray[i]);
                }
        }
}

1 个回复

倒序浏览
加油↖(^ω^)↗
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马