<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 fork

      文檔

      java fork

      fork / join通過分而治之的方法嘗試使用所有可用的處理器內核來幫助加速并行處理 ,意味著框架“forks”遞歸地將任務分解為較小的獨立子任務,直到它們足夠簡單以便異步執行。
      推薦度:
      導讀fork / join通過分而治之的方法嘗試使用所有可用的處理器內核來幫助加速并行處理 ,意味著框架“forks”遞歸地將任務分解為較小的獨立子任務,直到它們足夠簡單以便異步執行。

      很多朋友都想知道java fork有什么用?下面就一起來了解一下吧~

      fork / join通過分而治之的方法嘗試使用所有可用的處理器內核來幫助加速并行處理 ,意味著框架“forks”遞歸地將任務分解為較小的獨立子任務,直到它們足夠簡單以便異步執行。

      其中所有子任務的結果以遞歸方式連接到單個結果中,或者在返回void的任務的情況下,程序只是等待直到執行完每個子任務。

      為了提供有效的并行執行,fork / join框架使用一個名為ForkJoinPool的線程池,它管理ForkJoinWorkerThread類型的工作線程。

      RecursiveAction - 一個例子

      在下面的示例中,要處理的工作單元由稱為工作負載的String表示。出于演示目的,該任務是一個荒謬的任務:它只是j簡單的轉為大寫并打印它。

      為了演示框架的分支行為,如果workload.length()?大于指定的閾值則使用createSubtask()方法,該示例將分割任務。

      String被遞歸地劃分為子串,創建基于這些子串的CustomRecursiveTask實例。

      因此,該方法返回List 。

      使用invokeAll()方法將列表提交給ForkJoinPool:

      public?class?CustomRecursiveAction?extends?RecursiveAction?{
      ????private?String?workload?=?"";
      ????private?static?final?int?THRESHOLD?=?4;
      ????private?static?Logger?logger?=?
      ??????Logger.getAnonymousLogger();
      ????public?CustomRecursiveAction(String?workload)?{
      ????????this.workload?=?workload;
      ????}
      ????@Override
      ????protected?void?compute()?{
      ????????if?(workload.length()?>?THRESHOLD)?{
      ????????????ForkJoinTask.invokeAll(createSubtasks());
      ????????}?else?{
      ???????????processing(workload);
      ????????}
      ????}
      ????private?List?createSubtasks()?{
      ????????List?subtasks?=?new?ArrayList<>();
      ????????String?partOne?=?workload.substring(0,?workload.length()?/?2);
      ????????String?partTwo?=?workload.substring(workload.length()?/?2,?workload.length());
      ????????subtasks.add(new?CustomRecursiveAction(partOne));
      ????????subtasks.add(new?CustomRecursiveAction(partTwo));
      ????????return?subtasks;
      ????}
      ????private?void?processing(String?work)?{
      ????????String?result?=?work.toUpperCase();
      ????????logger.info("This?result?-?("?+?result?+?")?-?was?processed?by?"
      ??????????+?Thread.currentThread().getName());
      ????}
      }

      此模式可用于開發自己的RecursiveAction類,如若要執行此操作,請創建一個表示工作總量的對象,選擇合適的閾值,定義分割工作的方法,并定義執行工作的方法。

      文檔

      java fork

      fork / join通過分而治之的方法嘗試使用所有可用的處理器內核來幫助加速并行處理 ,意味著框架“forks”遞歸地將任務分解為較小的獨立子任務,直到它們足夠簡單以便異步執行。
      推薦度:
      為你推薦
      資訊專欄
      熱門視頻
      相關推薦
      java ecc加密 java formatter java echarts java ehcache java email java empty java encapsulation java future java generator java enhancer java generic java enterprise java environment java epoll java error java escape java event java exchange java execute 微信群怎么找 java foreach循環 java ear java flume java dynamic java dto java drools java flink java dowhile java flatmap java findfirst java fileinputstream java file.exists() java dockerfile java field獲取值 java field java divide java feign java fastjson java dict java development
      Top 少妇高潮太爽了在线视频