线程占CPU!!! 一个线程循环取一个队列里的文件,来进行传输,占很高的CPU.怎么解决啊?我现在就是SLEEP会,可是效果不大!(我只想起一个线程) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该是读文件太耗CPU了,不是线程本身的问题 没代码,不好说,建议楼主将代码精简,来判断是传输占用CPU,还是文件部分占用CPU. 精简代码,在线程中加Sleep没问题;注意线程中等带的对象 ,别造成线程和主线程循环等待,也就是死锁 估计是你队列中没有文件时你的线程没有等待而不断空循环造成cpu占用暴高的。 只要让你的线程在队列空时进入等待就行了, 简单办法就是加个event然后WaitForSingleObject等待, 往队列中添加文件的同时SetEvent激活线程 to Idle_我现在就是这样,有个EVENT在等待,可是队列有时是一次放入好几个内容再激活EVENT,这中间是一直循环传的,所以CPU高了,可是怎么确定是读文件耗的CPU还是传输呢???我的传输也是在个while中循环send数据的,是不是这个的事,如果是,是不是没辙了就,这里面不能SLEEP了吧??? 在while循环中无条件的疯狂进行I/O操作当让会占用很高的CPU可以考虑IOCP或者Idle等方式 如何让vc调试无工程的exe 请教关于收藏菜单编写中的问题 给线程传递一个整数。 WIN32 SDK 不注册窗口类,程序怎样取得系统消息? 怎样知道一个软件使用什么语言开发的? Winio如何模拟按键操作? [HELP ME]远程控制的问题!(作毕业设计遇到的)~在线等~在下有礼了 delphi的DLL,VC使用问题。急急急!!! vc7.0怎么运行classwizard 如何修改sybase数据库的表结构 坛坛里的大虾们,我遇到问题了,对话框上添加了一个带窗口的COM组件和几个Radio按钮,单击Radio按钮CPU占用率会100%吗? 获得1个字符串的长度
注意线程中等带的对象 ,别造成线程和主线程循环等待,也就是死锁
我现在就是这样,有个EVENT在等待,可是队列有时是一次放入好几个内容再激活EVENT,这中间是一直循环传的,所以CPU高了,可是怎么确定是读文件耗的CPU还是传输呢???我的传输也是在个while中循环send数据的,是不是这个的事,如果是,是不是没辙了就,这里面不能SLEEP了吧???
可以考虑IOCP或者Idle等方式