as3中的多線程

來源:互聯網
上載者:User

標籤:

  從fp11.4開始支援worker技術, 即as3中的線程概念, 到了fp11.5, flascc中開始支援pthread家族來建立線程。

  總的來說, as3中有兩種建立線程的方法:

1、直接在as3中利用worker家族介面來建立和使用線程。

2、利用flascc技術在c中使用pthread家族介面來建立和使用線程。adobe官方文檔明確指出, 使用pthread建立的線程, 最終也是使用as3中的worker來實現的。

  

一、worker對象的建立和擷取

1、利用worker家族介面建立的worker的擷取

  有三種途徑, 如下:

  1.1 建立worker的時候直接擷取

var worker: Worker = WorkerDomain.current.createWorker(swfBytes);

  1.2 在要擷取的地方使用Worker.current擷取當前代碼所在的線程。

  1.3 利用WorkerDomain.current.listWorkers()來擷取當前所有的worker列表。

2、利用pthread家族介面建立的worker的擷取

   因為利用pthread_create建立出現的線程實際上最終也是會產生一個worker來啟動並執行,所以也就有了對於這個worker對象的擷取。但是這時候只能使用1.2和1.3的方法來擷取, 而沒辦法直接使用1.1可以放線程建立者來擷取當前建立的worker。 因為這個原因, 或許會給使用者帶來不便。

二、worker之間的通訊

 

三、關於pthread和worker的關係

  1、thread proc函數的運行和worker的載入(建構函式, added to stage事件)先後循序關聯性。

  2、如果一個thread proc是一個死迴圈函數, 那麼worker本身能否處理自身事件,比如enter frame等。

    3、關於pthread與普通worker之間的效能、記憶體使用量的測試對比。

as3中的多線程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.