一般多线程用这个:
ThreadPoolExecutor  executor
Future future = executor.submit(harReturnValuetask); 
建议你参考下这篇资料:http://www.kuucen.com/article/198

解决方案 »

  1.   

    public class test {
        public static void main(String[] args) {
            new Thread(new myThread(1)).start();
            new Thread(new myThread(2)).start();
            }
    }
     class myThread implements Runnable{
     static int i = 1;
     int k;
     myThread(int k){
     this.k = k;
     }
     synchronized public void run() {
     while(i <= 100){
     System.out.println(k + "线程:" + i);
     i++;
     }
     }
    输出:
    1线程:1
    2线程:1
    1线程:2
    2线程:3
    1线程:4
    2线程:5
    1线程:6
    2线程:7
    1线程:8
    2线程:9
    1线程:10
    2线程:11
    1线程:12
    2线程:13
    1线程:14
    2线程:15
    1线程:16
    2线程:17
    1线程:18
    2线程:19
    1线程:20
    2线程:21
    1线程:22
    2线程:23
    1线程:24
    2线程:25
    1线程:26
    2线程:27
    1线程:28
    2线程:29
    1线程:30
    2线程:31
    1线程:32
    2线程:33
    1线程:34
    2线程:35
    1线程:36
    2线程:37
    1线程:38
    2线程:39
    1线程:40
    2线程:41
    1线程:42
    2线程:43
    1线程:44
    2线程:45
    1线程:46
    2线程:47
    1线程:48
    2线程:49
    1线程:50
    2线程:51
    1线程:52
    2线程:53
    1线程:54
    2线程:55
    1线程:56
    2线程:57
    1线程:58
    2线程:59
    1线程:60
    2线程:61
    1线程:62
    2线程:63
    1线程:64
    2线程:65
    1线程:66
    2线程:67
    1线程:68
    1线程:70
    1线程:71
    2线程:69
    1线程:72
    2线程:73
    1线程:74
    2线程:75
    1线程:76
    2线程:77
    1线程:78
    2线程:79
    1线程:80
    2线程:81
    1线程:82
    2线程:83
    1线程:84
    2线程:85
    1线程:86
    2线程:87
    1线程:88
    2线程:89
    1线程:90
    2线程:91
    1线程:92
    2线程:93
    1线程:94
    2线程:95
    1线程:96
    2线程:97
    1线程:98
    2线程:99
    1线程:100
      

  2.   

    public class Test {
    public static void main(String[] args) {
    ThreadNew threadNew = new ThreadNew();
    new Thread(threadNew).start();
    new Thread(threadNew).start();
    new Thread(threadNew).start();
    new Thread(threadNew).start();
    }
    }class ThreadNew implements Runnable{
    int i=100;
    @Override
    public void run() {
    while(true){
    synchronized (this) {
    if(i>0){
    try {
    Thread.sleep(100);
    } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    System.out.println(Thread.currentThread().getName()+"i:"+(i--));
    }else{
    break;
    }
    }
    }
    }
    }哦了 谢谢你们
      

  3.   

    public class Test {
    public static void main(String[] args) {
    ThreadNew threadNew = new ThreadNew();
    new Thread(threadNew,"1").start();
    new Thread(threadNew,"2").start();
    }
    }class ThreadNew implements Runnable{
    static int i = 1;
    public void run() {
    while(true){
    synchronized (this) {
    if(i<=100){
    System.out.println(Thread.currentThread().getName()+"i:"+(i++));
    }else{
    break;
    }
    }
    }
    }
    }