可是你更本没有new十个线程呀!

解决方案 »

  1.   

    public class ThreadTest {
    private int dev = 0;
    ThreadTest( ){
    for(int i = 0;i < 10;i++){
    new NewDev().start();
    }
    }
    public class NewDev extends Thread {
    public synchronized void run(){
    int id = (int)(Math.random() * Math.random()*10000) ;
    set(id);
    }
    }
    public synchronized void set(int k){
    dev = k;
    }
    public synchronized  int get(){
    return dev;
    }
    public static void main(String[] args){
    for(int i = 0;i < 10;i++) {
                           ThreadTest t1 = new ThreadTest();
         System.out.println(t1.get());
                       }
    }
    }
      

  2.   

    我的TheadTest类里不是new了吗?我现在就是想从外面来操作这10个线程,有办法吗?我听别人讲过线程池,但是我不知道怎么用?
      

  3.   

    楼主:你的线程是起作用的。但是线程还没有起作用,从程序就退出了,
    将for循环改为1000就可以看到。
    for(int i = 0;i < 1000;i++)
      System.out.println(t1.get());另外你这个程序没法测线程同步等东西。
      

  4.   

    我觉得问题的焦点是:怎样保持main线程和其他的线程同步。大虾们有高招吗?
      

  5.   

    关键是我不是到什么时候将其他线程的值传给main线程的变量,即始终达不到同步。多谢回复!