<address id="zhpbl"></address>
<noframes id="zhpbl">
<address id="zhpbl"><form id="zhpbl"><th id="zhpbl"></th></form></address>

    <em id="zhpbl"></em>

      <address id="zhpbl"><th id="zhpbl"><progress id="zhpbl"></progress></th></address>
      更多精彩內容,歡迎關注:

      視頻號
      視頻號

      抖音
      抖音

      快手
      快手

      微博
      微博

      java barrier

      文檔

      java barrier

      barrier是Java中的CyclicBarrier,是可循環使用的屏障,要做的事情就是讓一組線程到達一個屏障時被阻塞,直到最后一個線程到達屏障時,屏障才會開門,所有被屏障攔截的線程才會繼續運行。
      推薦度:
      導讀barrier是Java中的CyclicBarrier,是可循環使用的屏障,要做的事情就是讓一組線程到達一個屏障時被阻塞,直到最后一個線程到達屏障時,屏障才會開門,所有被屏障攔截的線程才會繼續運行。

      java barrier是什么,讓我們一起了解一下?

      barrier是Java中的CyclicBarrier,是可循環使用的屏障,要做的事情就是讓一組線程到達一個屏障時被阻塞,直到最后一個線程到達屏障時,屏障才會開門,所有被屏障攔截的線程才會繼續運行。

      CyclicBarrier有什么常用方法?

      首先在所有參與者都已經在此 barrier 上調用?await方法之前,將被一直等待。如果當前線程不是將到達的最后一個線程,出于調度目的,將禁用它,且在發生以下情況之一前,該線程將一直處于休眠狀態。

      最后一個線程到達,或者其他某個線程中斷當前線程,或者其他某個線程中斷另一個等待線程,或者其他某個線程在等待 barrier 時超時,或者其他某個線程在此 barrier 上調用?reset()。

      如果當前線程在進入此方法時已經設置了該線程的中斷狀態,或者在等待時被中斷,則拋出?InterruptedException,并且清除當前線程的已中斷狀態。

      如果在線程處于等待狀態時 barrier 被?reset(),或者在調用?await?時 barrier?被損壞,抑或任意一個線程正處于等待狀態,則出?BrokenBarrierException?異常。

      如果任何線程在等待時被中斷,則其他所有等待線程都將拋出?BrokenBarrierException?異常,并將 barrier 置于損壞狀態。

      如果當前線程是最后一個將要到達的線程,并且構造方法中提供了一個非空的屏障操作,則在允許其他線程繼續運行之前,當前線程將運行該操作。如果在執行屏障操作過程中發生異常,則該異常將傳播到當前線程中,并將 barrier 置于損壞狀態。

      示例代碼如下:

      public?static?void?main(String[]?args)?{
      ????CyclicBarrier?c?=?new?CyclicBarrier(2);
      ????Thread?t1?=?new?Thread(){
      ????????@Override
      ????????public?void?run()?{
      ????????????System.out.println("我到了");
      ????????????try?{
      ????????????????c.await();
      ????????????}catch?(Exception?e){
      ????????????????e.printStackTrace();
      ????????????}
      ????????}
      ????};
      ????t1.start();
      ????System.out.println("我到了");
      ????try?{
      ????????c.await();
      ????}catch?(Exception?e){
      ????????e.printStackTrace();
      ????}
      ????System.out.println("門開了");
      }

      以上就是小編今天的分享了,希望可以幫助到大家。

      文檔

      java barrier

      barrier是Java中的CyclicBarrier,是可循環使用的屏障,要做的事情就是讓一組線程到達一個屏障時被阻塞,直到最后一個線程到達屏障時,屏障才會開門,所有被屏障攔截的線程才會繼續運行。
      推薦度:
      為你推薦
      資訊專欄
      熱門視頻
      相關推薦
      java base64 java base64decoder java bean 手機充電時可以玩手機嗎 手機充電發熱發燙是什么原因 java beanutils java benchmark java bigdecimal excel表格怎么合并單元格 java binary java binder win10c盤滿了怎么清理 java binlog 如何清理win10電腦c盤 java bit java blob java break wps怎么求和 java bufferedimage java bufferedoutputstream java bacnet win10專業版和企業版的區別 java async java assembly java aspose java aspectj java asmx java ascii java arrays.sort java args java arctan java arccos java arcsin java archive java apriori java application java append 蘋果13藍牙搜索不到設備怎么辦 java apns java ant
      Top 少妇高潮太爽了在线视频