黑马程序员技术交流社区

标题: java面试题解答2 声明一个共享数组,起两个线程,两个线... [打印本页]

作者: purgatory    时间: 2015-9-21 22:16
标题: java面试题解答2 声明一个共享数组,起两个线程,两个线...
public static void main(String[] args) {
                /**
声明一个共享数组,起两个线程,两个线程分别隔一段时间(可以写一个随机数),
  给数组中添加数据,每一个线程为数组添加3个数据即可。
                 * 添加到数组所以需要可伸缩的数组,用arrayList
                 * */
                MyThread mt=new Test1().new MyThread();
                new Thread(mt).start();
                new Thread(mt).start();
        }
        class MyThread implements Runnable{
                @Override
                public void run() {
                        ArrayList<String> al=new ArrayList<>();
                        Random r=new Random();
                        try {
                                //获取1-5秒的随机数,并暂停
                               
                                        for(int a=0;a<500;a++){
                                                synchronized (Test1.this) {
                                                        Thread.sleep(r.nextInt(40)+10);
                                                        al.add("qqq");
                                                        System.out.println(Thread.currentThread().getName());
                                                }
                                        }
                               
                        } catch (InterruptedException e) {
                                e.printStackTrace();
                        }
                       
                }
        }






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