其它並發方法

來源:互聯網
上載者:User

原文連結

CCR可以表達(當需要的時候通過簡單的助手方法)各種其它的並發方法,例如:

  1. .net中的非同步編程模型(APM):MSDN雜誌中的Concurrent Affairs文章有一些用CCR適配器助手和APM APIs來調用系統類別庫的例子。與非CCR代碼互操作章節有一些使用CCR和它的迭帶器支援來簡化APM例子,這些例子通過直接返回並繼續非同步I/O,
    可以不使用delegate和回調。
  2. Futures:Futures被表達為立即從一個類中返回一個port,並且並行的啟用處理函數。使用一個dispatcher queue來並行的執行調用者和被調用的代碼,然後一個作業系統事件會阻塞一個等待結果的公用方法(假定一個同步未來模式(assuming a synchronous future pattern),看不懂,再汗一個-_-!!!)。為了調度未來工作項目(future work items),CCR調度器設計自然的在適當的時候充分利用CPU處理能力來執行高效計劃,使用使用者定義的策略來進行速度控制和負載平衡。分發隊列是FIFO對,但是DispatcherQueue的實現暴露了一組虛方法,允許繼承類來實現LIFO,隨機插入等等。
  3. Promises:Promises被表達的與Futures非常相似:一個CCR Port是一個Promise的結果,而一個破壞Promise的錯誤,是一個可以從port中擷取的元素。
  4. 串連(joins):串連編程在作業系統中出現已經有很長時間了(WaitForMultiple, I/O Completion ports in NT, etc),CCR更加用動態串連和多元素接收器對串連進行了擴充。
  5. 傳統的線程原語,例如讀寫鎖、鎖和監控器(monitors):CCR可以通過port和仲裁器來表達線程同步原語,並且取代顯式的對共用記憶體的鎖定。問題就從保護共用記憶體變成了調度和協議設計。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.