Tag: 线程睡眠

在用于暂停线程时,循环Thread.Sleep()会不会对性能造成影响?

有(或者已经有)很多关于使用Thread.Sleep()方法的好坏的讨论。 据我所知,它主要用于调试目的。 现在我想知道:用于我的特定目的是不是很糟糕,也就是说,不断循环它以便能够暂停/恢复线程? 我这样做是因为我想暂停一个执行I / O操作的线程,并能够以一种简单的方式恢复它。 I / O操作基本上只是将4096字节的块写入文件,直到所有数据都写入其中。 由于文件可能很大并且需要很长时间,我希望能够暂停操作(以防它开始吃掉很多系统资源)。 我的代码,VB.NET版本: ‘Class level. Private BytesWritten As Long = 0 Private Pause As Boolean = False ‘Method (thread) level. While BytesWritten < [target file size] …write 4096 byte buffer to file… While Pause = True Thread.Sleep(250) End While …do some more stuff… End While C#等价物: //Class […]