小编Viv*_*vek的帖子

在java中使用10个线程打印1到100

我是多线程的新手,我得到了一个问题,使用Java中的10个线程以低于约束打印1到100.

  1. 线程t1应该打印:

    1,11,21,31,...... 91

    t2 应该打印:

    2,12,22,32,...... 92

    同样

    t10 应该打印:

    10,20,30,...... 100

  2. 最终的输出应该是

    1 2 3 .. 100

我试过了,但它在所有10个线程中抛出以下异常:

java.lang.IllegalMonitorStateException
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:485)
    at thread.run(MyThread.java:58)
    at java.lang.Thread.run(Unknown Source) 
Run Code Online (Sandbox Code Playgroud)

请让我知道如何解决这个问题.

public class MyThread {
    /**
     * @param args
     */
    public static void main(String[] args) {
        thread.setSequence();
        for(int i = 1; i <= 10; i++) {
            Thread t = new Thread(new thread(i));
            t.setName(i + "");
            t.start();
        }
    }
}

class thread implements Runnable {
    private static HashMap< …
Run Code Online (Sandbox Code Playgroud)

java multithreading

7
推荐指数
3
解决办法
1万
查看次数

标签 统计

java ×1

multithreading ×1