ant*_*nti 1 c# c++ cpu-usage while-loop
我正在编写两个相互协作的应用程序.一个是c ++,另一个是C#.由于涉及流数据,我在多个地方使用代码,例如:
while (true)
{
//copy streamed data to other places
}
Run Code Online (Sandbox Code Playgroud)
我注意到这些程序使用了大量的cpu,并且响应缓慢.使用这种循环是不好的编程?我应该添加一个:
Sleep(5);
Run Code Online (Sandbox Code Playgroud)
在每一个?这有助于cpu的使用吗?
谢谢!
通常,Thread.Sleep()在代码中使用也会冻结线程,所以如果你担心的是响应性,你就不应该使用它.您应该考虑将流方法移出主(UI)线程
此外,你提到它是一些流媒体流程,所以最好的做法不会是这样的
while(!stream.EndOfStream)
{
//streaming
}
Run Code Online (Sandbox Code Playgroud)
而是使用一些DataReceived事件(如果可用)
| 归档时间: |
|
| 查看次数: |
733 次 |
| 最近记录: |