flash平台從11.4版本就開始支援多執行緒程式設計,只不過這個使用起來有點坑爹。
每個 worker 都是基於獨立的 swf 應用程式建立的並且作為獨立的 swf 應用程式執行。要建立 worker 例項,您需要獲取 swf 檔案的位元組以作為 bytearray 例項,並將該例項傳遞給此方法。下面就詳細的介紹一下三種方式使用flash的多執行緒技術。
針對此目的,有三種常用方式可用來訪問 swf 的位元組:
//embed the swf file
)]
private
static
varbgworker_byteclass:class;
private
function createworker():void
使用 urlloader 載入外部 swf 檔案:
//load the swf file
var workerloader:urlloader = new
urlloader();
workerloader.dataformat =urlloaderdataformat.binary;
workerloader.addeventlistener(event.complete, loadcomplete);
workerloader.load(
new urlrequest("bgworker.swf"
));
private
function loadcomplete(event:event):void
將單個 swf 同時用作原始 worker 和後台 worker:
//the primordial worker's main class constructor
public
function
primordialworkerclass()
private
function init():void
else
//entry point for the background worker
使用createworker()
建立乙個 worker 物件不會開始執行該 worker。要開始 worker 的**執行,請呼叫 worker 物件的start()
方法。
worker 非常有用,因為它們降低了幀速率由於主渲染執行緒被其他**阻止而下降的機率。不過,worker 需要使用額外的系統記憶體和 cpu,這可能會影響總體應用程式效能。因為每個 worker 都使用自己的執行時虛擬機器例項,甚至乙個微小的 worker 的開銷也可能很大。當使用 worker 時,請在您的所有目標平台上測試您的**以確保對系統的需求不是太大。在典型情況下,adobe 建議您不要使用超過乙個或兩個後台 worker。
多執行緒 多執行緒原理
我們首先要知道什麼是多執行緒,說白了就是多個執行緒,執行緒是什麼呢,其實就是程序執行的途徑,那麼說道這裡我們又引入了乙個新的名字,就是程序,那麼我們來看看什麼是程序,其實我們自己也能看到,啟動電腦的任務管理器,我們就可以看到程序選項,裡面是我們電腦所有的程序,我們會發現有很多的程序.簡單地說就是程序...
多執行緒(一) tomcat 多執行緒
web server允許的最大執行緒連線數還受制於作業系統的核心引數設定,通常windows是2000個左右,linux是1000個左右。1.編輯tomcat安裝目錄下的conf目錄下的server.xml檔案 maxthreads 150 表示最多同時處理150個連線,tomcat使用執行緒來處理...
多執行緒 理解多執行緒(一)
程序 程序是cpu分配資源的基本單位 執行緒 執行緒是cpu排程的基本單位 資源分配給程序,所有執行緒共享該程序的資源 當執行緒數大於cpu的數量,會出現時間片的輪詢。cpu時間片是直接分配給執行緒的,執行緒拿到cpu時間片就能執行了 cpu時間片不是先分給程序然後再由程序分給程序下的執行緒的。所有...