[問題] 使迴圈進行無限次數執行

作者: t78923t (トースト)   2015-12-24 01:19:22
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VS 2008
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)

問題(Question):
我想製造一個可以無限次數執行的迴圈
目前看到的方式是使用kbhit()函數當作do{...} while( )迴圈的終止條件
就是在鍵盤未按下任意鍵時 迴圈不會終止
我想請問還有哪種方式可以造成一樣效果的?
PS:除了while(1){...}這種方式
謝謝。
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
作者: BIAO (超越自己)   2015-12-24 01:41:00
while(變數)... ?
作者: winken2004 (新竹肥宅)   2015-12-24 01:51:00
for(;;)
作者: LPH66 (-6.2598534e+18f)   2015-12-24 02:16:00
有什麼理由你不想寫 while(1) 或 while(true) 嗎?
作者: qas612820704 (Lego)   2015-12-24 04:47:00
接到東西break while不就行了嗎 還有你想要無窮for不是也是有一樣的問題
作者: TobyH4cker (Toby (我要當好人))   2015-12-24 05:14:00
UI Thread進到迴圈了當然卡住啊
作者: LPH66 (-6.2598534e+18f)   2015-12-24 06:23:00
問題就只是樓上講的 UI Thread 被卡住了而已
作者: rodion (r-kan/reminder)   2015-12-24 10:05:00
你需要的是multi-thread... 這是gui程式的必備工具
作者: HolyBugTw (HolyBug)   2015-12-24 10:50:00
坦白說,我覺得你沒有問對問題
作者: longlongint (華哥爾)   2015-12-24 11:36:00
用 even handle 來做eventmulti-thread 然後把 lock 當接力棒丟 (?
作者: james732 (好人超)   2015-12-24 11:59:00
MFC的話就是把無窮迴圈寫在另一個thread停止條件就用個event object去檢查吧
作者: BIAO (超越自己)   2015-12-24 13:14:00
樓上幾位大大都突破盲腸了!簡單的說..在Process起來時,啟動一thread,這thread負責處理按了button後的措施,這措施通常是SetEvent,WaitForSingleObject置於new出來這個thread的無窮迴圈內部,在程式結束時,一樣會SetEvent給這個同步物件WaitForSingleObjject,進行資源的釋放。這麼做的目的,就是為了避免main thread卡住,new的那個就專門用來處理UI後端的資料部份。我想你對於這些Windows API不熟,建議你先了解一下這些工具的使用方式,謝謝。以上只是一種做法供你參考,不一定要這樣做,就是一個概念。
作者: CumCumCum (2 hard 2 hard)   2015-12-24 14:18:00
非得主緒執行的話 就用timer吧
作者: overhead (overhead)   2015-12-24 20:08:00
你做mfc一定要開至少兩條thread,總不能你後端運作時,user用的畫面卡住吧不是很懂 總之你可以用AfxBeginThread
作者: justinj (黑旋風)   2015-12-25 11:15:00
程式是直線執行的..任何無限迴圈都可以..主要是要有"跳"的方法....
作者: boss0405 (boss)   2015-12-25 12:34:00
AfxBeginThread,用法可以上msdn查
作者: overhead (overhead)   2015-12-25 13:27:00
另外建議要再念過multi-thread相關知識 不然容易有bug

Links booklink

Contact Us: admin [ a t ] ucptt.com