讓一個單線程程序調用一個大的functionLarge()
,它需要在調用函數main
函數中的下一個代碼行之前完成。假設這個函數很好地分解並且需要很長時間。
在這種answer.wait()
建議,我不知道它是否優於:等待函數完成後再繼續主(一個線程)
bool done = false;
// returning true at the end, modifies bigObject by refrence
done = functionLarge(bigObject);
while(!done) { usleep(1000); }
//...can now continue
是否有更好的方法,而無需返回bool
?
只需停止使用'bool'並讓程序按正常執行順序運行? – MikeCAT
你的做法很糟糕,因爲'dont'的值在分配後不會奇蹟般地改變,所以循環將被取0或無窮大時間。 – MikeCAT
直到'functionLarge'完成後纔會輸入。 – Dacav