ce下多线程速度变慢的有关问题
ce下多线程速度变慢的问题
CE下同时开两个线程速度明显变慢,只开一个线程
此时得到的文件如下
20120322 08:48:48 936
20120322 08:48:48 955
20120322 08:48:48 974
20120322 08:48:48 993
20120322 08:48:49 012
20120322 08:48:49 031
20120322 08:48:49 050
20120322 08:48:49 069
20120322 08:48:49 088
如果再开一个线程,什么都不做,如下
此时得到的文件如下:
20120322 08:51:38 140
20120322 08:51:40 132
20120322 08:51:41 753
20120322 08:51:44 819
20120322 08:51:47 679
20120322 08:51:50 314
20120322 08:51:51 728
20120322 08:51:54 742
20120322 08:51:56 154
请问为什么会造成如此大的延迟?怎么样才能解决这个问题
------解决方案--------------------
线程中如果不处理数据就死循环的话,会占用大量的时间片,就会出现类似的情况
------解决方案--------------------
sleep一下,让线程得以切换
------解决方案--------------------
CE下同时开两个线程速度明显变慢,只开一个线程
- C# code
while (true) { using (StreamWriter sw = File.AppendText(filePath)) { sw.WriteLine(DateTime.Now.ToString("yyyyMMdd hh:mm:ss fff")); sw.Close(); } }
此时得到的文件如下
20120322 08:48:48 936
20120322 08:48:48 955
20120322 08:48:48 974
20120322 08:48:48 993
20120322 08:48:49 012
20120322 08:48:49 031
20120322 08:48:49 050
20120322 08:48:49 069
20120322 08:48:49 088
如果再开一个线程,什么都不做,如下
- C# code
while (true) { }
此时得到的文件如下:
20120322 08:51:38 140
20120322 08:51:40 132
20120322 08:51:41 753
20120322 08:51:44 819
20120322 08:51:47 679
20120322 08:51:50 314
20120322 08:51:51 728
20120322 08:51:54 742
20120322 08:51:56 154
请问为什么会造成如此大的延迟?怎么样才能解决这个问题
------解决方案--------------------
线程中如果不处理数据就死循环的话,会占用大量的时间片,就会出现类似的情况
------解决方案--------------------
sleep一下,让线程得以切换
------解决方案--------------------