Java 个线程之间的交互
Interactions between Java threads
我有两个 类(A 和 B)实现了 Runnable。
两个线程都是这样执行的:
A a = new A();
new Thread(a).start();
B b = new B();
new Thread(b).start();
我需要stop/wait/resume线程A在线程B中。
怎么可能?
其实不能直接停止tread.Asmarkspace的评论,是可以的,但是在某些特殊情况下要慎重
Java Thread Primitive Deprecation
Why is Thread.stopdeprecated?
Because it is inherently unsafe. Stopping a thread causes it to unlock all the monitors that it has locked. (The monitors are unlocked as theThreadDeath exception propagates up the stack.)
无法在 java 中使用 pause/resume 个线程。如果你想要这个,你应该自己实现它 - 例如等待某些条件。
Here 你可以看到一个例子,如何让线程等待互斥体并稍后通知它。无论如何,只有当线程执行一些周期性的东西时才有可能。如果线程动作扎实,就没有办法达到你的目的。
我有两个 类(A 和 B)实现了 Runnable。
两个线程都是这样执行的:
A a = new A();
new Thread(a).start();
B b = new B();
new Thread(b).start();
我需要stop/wait/resume线程A在线程B中。
怎么可能?
其实不能直接停止tread.Asmarkspace的评论,是可以的,但是在某些特殊情况下要慎重
Java Thread Primitive Deprecation
Why is Thread.stopdeprecated?
Because it is inherently unsafe. Stopping a thread causes it to unlock all the monitors that it has locked. (The monitors are unlocked as theThreadDeath exception propagates up the stack.)
无法在 java 中使用 pause/resume 个线程。如果你想要这个,你应该自己实现它 - 例如等待某些条件。
Here 你可以看到一个例子,如何让线程等待互斥体并稍后通知它。无论如何,只有当线程执行一些周期性的东西时才有可能。如果线程动作扎实,就没有办法达到你的目的。