我是多线程的新手,我得到了一个问题,使用Java中的10个线程以低于约束打印1到100.
线程t1应该打印:
1,11,21,31,...... 91
t2 应该打印:
2,12,22,32,...... 92
同样
t10 应该打印:
10,20,30,...... 100
最终的输出应该是
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)