请问用C#比较串行和并行计算时间,为什么加thread.sleep(1)串行比较并行慢,不加就快? 串行,并行c# 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 thread.sleep(1)加这个就是让执行这个方法的线程停止1毫秒。呀,所以你觉的慢了。 对,这个是停止1毫秒,程序运行的慢了,我的意思是我用串行计算和并行计算的时间比较,如果不加这个停止1毫秒,串行计算的反而比并行快,您知道是怎么回事吗?就是这个thread.sleep有么有需要注意的地方?在用parallel.for时是否需要注意什么 。。如果只是简单的计算当然快拉。。再说了开线程也是要耗CPU的, 串行Sleep(1)至少是实实在在的休息了N个1ms。并行Sleep(1)如果不存在锁操作,那么资源(比如CPU)基本上没有休息,因为从概率上来说基本上会有一个线程使用着资源。所以单线程不能阻塞,而多线程是否阻塞可能就不是那么严格了。 在多线程中,不是单CPU叫串行?多CPU叫并行? 这样你有2个CPU或者双核执行起来是这样的1(休眠)3(休眠)2(休眠)4(休眠)如果你一个CPU其实是一样的你串行是这样的1休眠10休眠 那我用parallel.for就是用多线程了吗?怎么产生堵塞? 模仿QQ写了一个基于socket聊天程序,怎样才能在外网连接到服务器? 关于C#图片问题 (100分求)Windows的文件夹重定向可以通过编程方式修改吗 如何InstallShield12安装自定义VS2005项目模版 如何读取一个文件夹中各文件的内容啊? 只有*.aspx的源码怎么在.net中打开 MONO 中线程操作UI 100求够简单算法(要最优秀的) 获取网络图片的大小和尺寸 关于Remoting的对象传递问题 怎么通过文件前缀获取到文件的全名 WPF 在本机正确运行,在另一台机子运行出现问题
并行Sleep(1)如果不存在锁操作,那么资源(比如CPU)基本上没有休息,因为从概率上来说基本上会有一个线程使用着资源。
所以单线程不能阻塞,而多线程是否阻塞可能就不是那么严格了。
执行起来是这样的
1(休眠)3(休眠)
2(休眠)4(休眠)如果你一个CPU其实是一样的
你串行是这样的
1休眠10休眠