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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

wangyahui

中级黑马

  • 黑马币:83

  • 帖子:34

  • 精华:0

© wangyahui 中级黑马   /  2016-9-29 20:00  /  995 人查看  /  18 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

数组里有5个元素,两个线程,怎么输出六次?

18 个回复

倒序浏览
同求答案,求大神解答
回复 使用道具 举报
坐等大神-----
回复 使用道具 举报
应该设个变量,每次输出完,变量加1,加个同步代码块,里面判断变量够6次就结束线程
回复 使用道具 举报
读书可以当饭吃 发表于 2016-9-30 00:32
应该设个变量,每次输出完,变量加1,加个同步代码块,里面判断变量够6次就结束线程 ...

能写一下源码吗?大神.
回复 使用道具 举报
        public static void main(String[] args) {
                new Xian().start();
                new Xian().start();
               
        }

}
class Xian extends Thread{
        Random r = new Random();
        int[] arr = {1,2,3,4,5};
        private static int x = 1;
        public void run(){
                while(true){
                        synchronized (Xian.class) {
                               
                        if(x==7){
                                break;
                        }
                        System.out.println(getName()+"        "+arr[r.nextInt(5)]);
                        x++;
                        }
                }
        }
       
}




不知道你要怎么输出.  是按顺序  123451 这样     还是 我写的这个随机输出?

评分

参与人数 1技术分 +1 收起 理由
噜噜吧 + 1 赞一个!

查看全部评分

回复 使用道具 举报 1 0
来 学习学习。
回复 使用道具 举报
xianghui0521 发表于 2016-9-30 10:44
public static void main(String[] args) {
                new Xian().start();
                new Xian().start();

就是随机数出的,谢谢.
回复 使用道具 举报
xianghui0521 发表于 2016-9-30 10:44
public static void main(String[] args) {
                new Xian().start();
                new Xian().start();

谢谢大神,就是随机输出的.
回复 使用道具 举报
第几天的内容
回复 使用道具 举报
挺好的,涨知识了!
回复 使用道具 举报
把控制条件改一下  输出次数是由控制条件决定的
回复 使用道具 举报
表示没看懂题目什么意思
回复 使用道具 举报
wangyahui 发表于 2016-9-30 10:44
能写一下源码吗?大神.

package test01;

import java.util.Random;

public class Thread_Demo1 {

        /**
         * 数组里有5个元素,两个线程,怎么输出六次?
         */
        public static void main(String[] args) {
                MyRunnable mr = new MyRunnable();
                Thread t1 = new Thread(mr);
                Thread t2 = new Thread(mr);
                t1.start();
                t2.start();
        }

}
class MyRunnable implements Runnable{
        int[] arr = {1,2,3,4,5};
        int b;
        Random ra = new Random();
        @Override
        public void run() {
                while(true){
                        synchronized (ra) {
                                if(b==6){
                                        return;
                                }
                                System.out.println(Thread.currentThread().getName()+"输出了:"+arr[ra.nextInt(arr.length)]);
                                b++;
                        }
                }
        }
}
回复 使用道具 举报
读书可以当饭吃 发表于 2016-10-1 11:19
package test01;

import java.util.Random;

谢谢大神.
回复 使用道具 举报
坐等大神-----
回复 使用道具 举报
坐等大神-----
回复 使用道具 举报
坐等大神-----
回复 使用道具 举报
坐等大神-----
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马