(4)Semaphore-方法acquireUninterrup

2018-03-29  本文已影响327人  码出高效

方法acquireUninterruptibly()的作用是使等待进入acquire()方法的线程,不允许被中断,先来看一个中断的实验:

代码中出现的ThreadA,ThreadB等类代码之前章节有截图,这个不在描述。

可以看到:

线程B成功被中断,那么不能被中断是什么效果呢?

上面的Server稍微改动:

再次运行可以看到:

该方法的重写方法:acquireUninterruptibly(int permits)方法作用是在等待许可的情况下不允许被中断,如果成功获得锁,则取得指定的permits许可个数。

上一篇下一篇

猜你喜欢

热点阅读