推 Bencrie: 直接 sleep 05/10 18:44
→ grayStone: Sleep 似乎在 windows.h? 05/10 19:35
推 johnjohnlin: 同意一樓,sleep應該本來就會釋出CPU 05/10 19:55
→ Killercat: 標準的做法是sleep(1) 替代做法是yield() 05/10 22:52
→ azureblaze: yield被拔掉很久了 但是他還是以macro存在於windows.h 05/10 23:51
→ azureblaze: 佔掉一個不算稀有的動詞超討厭... 05/10 23:52
→ uranusjr: yield 在越來越多語言是 keyword 呢, 別嫌啦 05/11 01:08
→ azureblaze: keyword有用途,直接#define掉是找人麻煩啊 05/11 01:10
→ azureblaze: 第一次把函數取成Yield的時候debug找了超久 05/11 01:11
→ Killercat: Windows取代掉的是Yield() 不過我說的是 05/11 17:13
→ Killercat: std::this_thread::yield() 05/11 17:13
→ Killercat: (C++11以後才有) 這東西是明確的取代掉sleep(1) 05/11 17:14
→ Killercat: 不然sleep(1)實在是太過於意味不明。 05/11 17:14
→ Killercat: 另外說到#define,win32 API幾百年前的古董了 又是C 05/11 17:15
→ Killercat: 所以別嫌啦... XDDDD 用古董就要有這種覺悟啊 orz 05/11 17:15
→ Killercat: 不過很有趣的是,C++11只有提供本thread的yield 05/11 17:16
→ Killercat: 似乎還是沒有定義隨手拿一個thread叫他yield的方法 05/11 17:16
→ Killercat: 也就是說「只能自己thread去yield 不能在別的thread 05/11 17:25
→ Killercat: 要求別人yield」(也算合理啦) 05/11 17:25
→ uranusjr: 這很合理吧, 叫一個 thread 突然暫停也太奇怪了 05/11 23:43
→ Killercat: 誒,我才發現我把標準作法替代作法寫反了... 05/12 18:23
→ Killercat: 標準做法是std::this_thread::yield(),替代是sleep(1) 05/12 18:24