2010-06-07 40 views
1

Flex 3 ActionScript不支持程序員線程。Flex 3中的定時器和線程ActionScript

但是是什麼flash.utils.Timer呢?它是在單獨的線程還是主循環中運行?如果是後者,那麼這是否意味着如果主循環處於長時間運行狀態,Timer可能不會被調用?

更一般地說,你可以告訴我關於在ActionScript中運行的線程嗎?我的一分鐘定時器,如果事件處理程序運行了幾分鐘,則調用該函數,因此並不是所有 ActionScript都在一個線程中運行。

回答

1

這個答案與主題礦交易:AS3 Timers vs. ENTER_FRAME performance

現在我的回答引發的討論計時器是否真正是獨立的線程。有一點可以肯定的是,ActionScript字節碼僅在主線程中執行。同步執行完全是線性的。只有當一個事件被完全處理時,controll纔會返回到主循環,以處理其他事件,所以當主線程忙時,沒有其他事情發生。

最後,這意味着計時器不會被稱爲它應該或可能根本不會。根據不同的事件,它們要麼堆積起來要麼被簡單地丟棄。

格爾茨
back2dos