黑马程序员技术交流社区

标题: 线程 [打印本页]

作者: wangyahui    时间: 2016-9-29 20:00
标题: 线程
数组里有5个元素,两个线程,怎么输出六次?
作者: bahamut322    时间: 2016-9-29 23:42
同求答案,求大神解答
作者: hydome    时间: 2016-9-29 23:59
坐等大神-----
作者: 读书可以当饭吃    时间: 2016-9-30 00:32
应该设个变量,每次输出完,变量加1,加个同步代码块,里面判断变量够6次就结束线程
作者: wangyahui    时间: 2016-9-30 10:44
读书可以当饭吃 发表于 2016-9-30 00:32
应该设个变量,每次输出完,变量加1,加个同步代码块,里面判断变量够6次就结束线程 ...

能写一下源码吗?大神.
作者: xianghui0521    时间: 2016-9-30 10:44
        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 这样     还是 我写的这个随机输出?
作者: 九局下半    时间: 2016-9-30 11:06
来 学习学习。
作者: wangyahui    时间: 2016-9-30 11:15
xianghui0521 发表于 2016-9-30 10:44
public static void main(String[] args) {
                new Xian().start();
                new Xian().start();

就是随机数出的,谢谢.
作者: wangyahui    时间: 2016-9-30 11:19
xianghui0521 发表于 2016-9-30 10:44
public static void main(String[] args) {
                new Xian().start();
                new Xian().start();

谢谢大神,就是随机输出的.
作者: 喝咖啡的玉米    时间: 2016-9-30 12:04
第几天的内容
作者: zhangyiling5    时间: 2016-9-30 13:09
挺好的,涨知识了!
作者: 小泥人    时间: 2016-9-30 13:13
把控制条件改一下  输出次数是由控制条件决定的
作者: 廖灵建    时间: 2016-9-30 18:47
表示没看懂题目什么意思
作者: 读书可以当饭吃    时间: 2016-10-1 11:19
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++;
                        }
                }
        }
}
作者: wangyahui    时间: 2016-10-1 19:24
读书可以当饭吃 发表于 2016-10-1 11:19
package test01;

import java.util.Random;

谢谢大神.
作者: 周军福    时间: 2016-10-1 19:42
坐等大神-----
作者: 周军福    时间: 2016-10-1 19:48
坐等大神-----
作者: 周军福    时间: 2016-10-1 19:53
坐等大神-----
作者: 周军福    时间: 2016-10-1 19:59
坐等大神-----




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