麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > Phaser運行機制是什么樣的?

Phaser運行機制是什么樣的?

來源:千鋒教育
發布人:wjy
時間: 2022-09-14 16:58:42 1663145922

  Phaser運行機制是什么樣的

  Registration(注冊)

  跟其他barrier不同,在phaser上注冊的parties會隨著時間的變化而變化。任務可以隨時注冊(使用方法register,bulkRegister注冊,或者由構造器確定初始parties),并且在任何抵達點可以隨意地撤銷注冊(方法arriveAndDeregister)。就像大多數基本的同步結構一樣,注冊和撤銷只影響內部count;不會創建更深的內部記錄,所以任務不能查詢他們是否已經注冊。(不過,可以通過繼承來實現類似的記錄)

  Synchronization(同步機制)

  和CyclicBarrier一樣,Phaser也可以重復await。方法arriveAndAwaitAdvance的效果類似CyclicBarrier.await。phaser的每一代都有一個相關的phase number,初始值為0,當所有注冊的任務都到達phaser時phase+1,到達最大值(Integer.MAX_VALUE)之后清零。使用phase number可以獨立控制 到達phaser 和 等待其他線程 的動作,通過下面兩種類型的方法:

  1. Arrival(到達機制) arrive和arriveAndDeregister方法記錄到達狀態。這些方法不會阻塞,但是會返回一個相關的arrival phase number;也就是說,phase number用來確定到達狀態。當所有任務都到達給定phase時,可以執行一個可選的函數,這個函數通過重寫onAdvance方法實現,通常可以用來控制終止狀態。重寫此方法類似于為CyclicBarrier提供一個barrierAction,但比它更靈活。

  2. Waiting(等待機制) awaitAdvance方法需要一個表示arrival phase number的參數,并且在phaser前進到與給定phase不同的phase時返回。和CyclicBarrier不同,即使等待線程已經被中斷,awaitAdvance方法也會一直等待。中斷狀態和超時時間同樣可用,但是當任務等待中斷或超時后未改變phaser的狀態時會遭遇異常。如果有必要,在方法forceTermination之后可以執行這些異常的相關的handler進行恢復操作,Phaser也可能被ForkJoinPool中的任務使用,這樣在其他任務阻塞等待一個phase時可以保證足夠的并行度來執行任務。

  Termination(終止機制)

  可以用isTerminated方法檢查phaser的終止狀態。在終止時,所有同步方法立刻返回一個負值。在終止時嘗試注冊也沒有效果。當調用onAdvance返回true時Termination被觸發。當deregistration操作使已注冊的parties變為0時,onAdvance的默認實現就會返回true。也可以重寫onAdvance方法來定義終止動作。forceTermination方法也可以釋放等待線程并且允許它們終止。

  Tiering(分層結構)

  Phaser支持分層結構(樹狀構造)來減少競爭。注冊了大量parties的Phaser可能會因為同步競爭消耗很高的成本, 因此可以設置一些子Phaser來共享一個通用的parent。這樣的話即使每個操作消耗了更多的開銷,但是會提高整體吞吐量。

  在一個分層結構的phaser里,子節點phaser的注冊和取消注冊都通過父節點管理。子節點phaser通過構造或方法register、bulkRegister進行首次注冊時,在其父節點上注冊。子節點phaser通過調用arriveAndDeregister進行最后一次取消注冊時,也在其父節點上取消注冊。

  Monitoring(狀態監控)

  由于同步方法可能只被已注冊的parties調用,所以phaser的當前狀態也可能被任何調用者監控。在任何時候,可以通過getRegisteredParties獲取parties數,其中getArrivedParties方法返回已經到達當前phase的parties數。當剩余的parties(通過方法getUnarrivedParties獲取)到達時,phase進入下一代。這些方法返回的值可能只表示短暫的狀態,所以一般來說在同步結構里并沒有啥卵用。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
開班信息
北京校區
  • 北京校區
  • 大連校區
  • 廣州校區
  • 成都校區
  • 杭州校區
  • 長沙校區
  • 合肥校區
  • 南京校區
  • 上海校區
  • 深圳校區
  • 武漢校區
  • 鄭州校區
  • 西安校區
  • 青島校區
  • 重慶校區
  • 太原校區
  • 沈陽校區
  • 南昌校區
  • 哈爾濱校區
主站蜘蛛池模板: 国产精品原创| 色丁香在线| 美女张开腿让男人桶的视频| 欧美在线播放| 欧美日韩免费在线视频| 四虎影视永久在线精品免费| 欧美特黄色片| 亚洲剧情在线观看| 国产高清一区二区三区视频| 亚洲国产成人久久综合区| 老师~你的技术真好好大| 欧美一级片手机在线观看| 男人操女人免费视频| 男女无遮挡边做边吃视频免费| 女人张开腿给人桶免费视频| 好男人好资源在线| 亚洲欧美中文日韩在线| 嘟嘟嘟www在线观看免费高清| 欧美最猛性xxxxx69交| 95免费观看体验区视频| 国产四虎精品| 国产精品原创| 久久国产精品-国产精品| 国产人妖网站| 厨房切底征服岳| 精品国产污污免费网站入口| 91久久香蕉国产线看| 三级毛片大全| 水蜜桃视频在线免费观看| 大陆三级特黄在线播放| 免费一级毛片在级播放| 亚洲欧美国产另类视频| 男人桶爽女人30分钟视频动态图 | 日韩视频一区| 在线播放真实国产乱子伦| 啊公交车坐最后一排被c视频| 美国bbbbbbbbb免费毛片| 男生女生一起差差差带疼痛| 国产特级毛片aaaaaa高清| 岛国片在线免费观看| 国产一区精品视频|