JavaScript和Java实现阻塞线程的一个方法
一:JavaScript
我们有时候会使用JavaScript开发跨平台的App,在某些特定场景下,我们希望在某个singleton量未达到预期时,多个线程中指定线程处于等待状态。当然我们也不能使用JavaScript的while死循环来解决问题,很显然,如果等待状态持续时间较长,死循环会在当前线程中调动cpu带来灾难性的性能开销。
于是,这里分享一个实现思路,使用ES6的语法和递归,可以让特定的多线程处于等待,同时只会产生极低的性能开销。
1 |
|
二:Java
JDK中集成了相关自旋的方法,以使用很低的性能开销实现线程的等待,相关实现如下
1 | public class ExeUtils { |
1 | public Runnable testThread(Map testObj) { |
1 | public void testThreadMethod(){ |
以上,新年快乐。