并发 九月 05, 2019

并发编程之LockSupport

文章字数 2.6k 阅读约需 2 mins.

LockSupport提供的park/unpark是以线程的角度来设计,真正解耦了线程之间的同步。

  • park()方法,对当前线程执行阻塞操作,直到获取到可用许可后才解除阻塞,也就相当于当前线程进入阻塞状态。

    park 方法还可以在其他任何时间“毫无理由”地返回,因此通常必须在重新检查返回条件的循环里调用此方法。park不会释放当前线程占有的锁资源。

  • parkNanos(long)方法,对当前线程执行阻塞操作,等待获取到可用许可后才解除阻塞,最大的等待时间由传入的参数来指定,一旦超过最大时间它也会解除阻塞。

  • parkUntil(long)方法,,对当前线程执行阻塞操作,等待获取到可用许...

查看全文
0%