黑马程序员技术交流社区

标题: 怎么做这题目 [打印本页]

作者: huangweicong    时间: 2016-10-18 00:49
标题: 怎么做这题目

* 声明一个共享数组,起两个线程,
两个线程分别隔一段时间(可以写一个随机数),给数组中添加数据,
每一个线程为数组添加3个数据即可。



作者: gyy    时间: 2016-10-18 00:57
简单的并发写?加一个synchronize就好了,不知道你哪里不清楚呢
作者: fdzx0707fh    时间: 2016-10-18 23:23
用sleep暂停线程    用计数器判断是否退出循环。
作者: 清风小雨    时间: 2016-10-19 18:54
以前写的给你参考参考
class RunDemo implements Runnable{
        private static double[] num = null;
        private int count = 6;
        public RunDemo(){
                this.num = new double[count];
        }
        @Override
        public void run() {
                // TODO Auto-generated method stub
                for(int i=0;i<3;i++){
                       
                        this.set();
                        //System.out.println("num["+i+"]:"+this.num[i]);
                }
        }
        public synchronized void set(){
                if(this.count > 0){
                        try {
                                Thread.sleep(300);
                        } catch (InterruptedException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
                        count--;
                        this.num[this.num.length -(this.count+1)] = this.getNum();
                        System.out.println(Thread.currentThread().getName()+"-->num["+(this.num.length -(this.count+1))+"]:"
                                                                +this.num[this.num.length -(this.count+1)]);
                }
        }
        public double getNum(){
                return Math.round(Math.random()*30+1+50)/100.0;
        }
}
public class Test7 {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                RunDemo r = new RunDemo();
                Thread t1 = new Thread(r);
                Thread t2 = new Thread(r);
                t1.start();
                t2.start();
        }
}
作者: 蓝光四号    时间: 2016-10-19 21:51
还没学    ,,,




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