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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

开启两个线程每隔一段时间分别向一个共享数组中添加元素,每个线程添加3个即可。

1 个回复

倒序浏览
package com.heima.lianxi;

import java.util.ArrayList;
import java.util.Random;

public class demo {
    static ArrayList<Integer> al = new ArrayList<Integer>();
    static Object[] obj;
    public static void main(String[] args) throws Exception {
            RR r = new RR();
            Thread t1 = new Thread(r);
            Thread t2 = new Thread(r);
            int n=1;
            for (int i = 0; i < 2; i++) {
                    if(n==1){
                            t1.start();
                            t1.join();
                    }else{
                            t2.start();
                            t2.join();
                    }
                    n=(n+1)%2;
            }
            obj = al.toArray();
            for (int i = 0; i < obj.length; i++) {
                    System.out.println(obj[i]);
            }
    }

static class RR implements Runnable {
            public synchronized void run() {
                    try {
                            Thread.sleep(1000);
                    } catch (InterruptedException e) {
                            e.printStackTrace();
                    }
                    for (int i = 0; i < 3; i++) {
                            al.add(new Random().nextInt(10));
                    }
            }
    }
}

我就知道这一种不知道 嗨有没更简单的,可以相互讨论下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马