मैं इस कोड को चला रहा हूं और यह उचित मात्रा में सीपीयू का उपयोग कर रहा है, भले ही यह ज्यादातर समय से बिल्कुल कुछ नहीं कर रहा है।किसी शर्त को पूरा होने तक ऑपरेशन को अवरुद्ध कैसे करें?
while (this.IsListening)
{
while (this.RecievedMessageBuffer.Count > 0)
{
lock (this.RecievedMessageBuffer)
{
this.RecievedMessageBuffer[0].Reconstruct();
this.RecievedMessageBuffer[0].HandleMessage(messageHandler);
this.RecievedMessageBuffer.RemoveAt(0);
}
}
}
किसी शर्त को पूरा होने तक ब्लॉक करने का सबसे अच्छा तरीका क्या है?
'थ्रेड। सो()'? –
थ्रेड। नींद() यूआई को भी अवरुद्ध करता है। –
@RanhiruCooray नहीं, यह लगभग हमेशा * गलत * उत्तर है। इस नौकरी के लिए समर्पित संरचनाएं हैं, जैसे मार्क द्वारा सुझाए गए वेटहैंडल। Http://stackoverflow.com/questions/9417260/when-is-it-sensible-to-use-thread-sleep –