[問題] 關於flash single proccess的問題?
Hello ▁
這個問題一直埋在我心裡好久 但是一直不了這個as3語言的特性
我曾聽過前輩說過 避開這個問題就好了 ~ 於是我就沒去深入研究過
以前寫java的時候 ~ 我會用兩個thread 去管控這個waiting loop的問題
很單純就是很直覺會拿以前os學到處理race condition的狀況去實作
很輕而易舉 就可以控制這個情況
===============================================================
可是到as3 他是single thread的觀念去跑 ~~
但有時候 Event會給我racing的狀況
( 舉例說 像是loading的狀況 假如使用同步去處理 會有先後順序之分
於是這個觀念 讓我覺得Event的處理 跟MultiThread其實很相像 ~
但是在使用上 又發現 你完全不可能向上面所想到方式去做 ~
因為這個會卡在一個frame裡面 ~(我的感覺啦
可以參考我下面這個測試程式 ~
他是在CS5裡面寫的 其實更本不會過 因為卡在回圈裡太久了
但我有點想瞭解我前面所想到的疑惑 或著我有觀念錯誤的地方 ~
希望 有人可以幫我解釋一下 這個問題 或著Link相關的資訊給我也可以
因為這個問題我是避掉了 或許只是為了躲開這個問題而已 並不是最佳解
但是總覺得好像處理上讓我每次解釋 都有點小困難
import flash.events.Event;
var flag:Boolean = false ;
mcBtn.addEventListener(MouseEvent.CLICK,switchFlag);
function switchFlag(evt:Event):void{
flag = true ;
}
var idx:int = 0
while(!flag){
trace("while loop :",idx++);
}
謝謝 有打擾到大家的地方 在此感到抱歉 ~ 因為有點好奇
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.36.95.40
討論串 (同標題文章)