多线程好的过来看看

boytomato 2007-01-30 02:30:36
public void GetCapInf()
{
while (true)
{
//数据处理快1
Thread.Sleep(100);
//数据处理块2 比价复杂
Thread.Sleep(100);
}
}

启动线城后导致程序变满影响操作

可是把数据块2 放在另外程序中的线程中(原来程序中只运行 数据快1)

两个程序都启动,程序1,2 都可正长执行,
可为什不能在一个程序中执行呢...






...全文
288 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
boytomato 2007-01-30
  • 打赏
  • 举报
回复
找到问题了,一个是调试里面的运行,
一个是直接打开 exe ,
两个占用的cpu 是不一样的。。。

相差很大。。。
boytomato 2007-01-30
  • 打赏
  • 举报
回复
我以前用自己做的dirctshow 做的视频抓图处理时,基本就是70%cpu占用,
现在用的厂家提供的 api做的抓图,,,,就一直居高不下。。。
winxieddd 2007-01-30
  • 打赏
  • 举报
回复
还有,检查一下线程同步的代码。
winxieddd 2007-01-30
  • 打赏
  • 举报
回复
没发现有问题呀,我一直这样做呀。
不过第一个Thread.Sleep(100);好像没什么用:)
viena 2007-01-30
  • 打赏
  • 举报
回复
数据处理快中的代码有问题
灰太狼 2007-01-30
  • 打赏
  • 举报
回复
我觉得放在一起也不会出什么问题呀,分开的话是不是还要考虑多线程间同步的问题呢?你看看
数据处理块2 中是不是有什么资源没释放的情况呀,不然cpu不可能长时间居高不下的。
hertcloud 2007-01-30
  • 打赏
  • 举报
回复
你的两个 线程 处理
是不是 使用了同一个链接 或者
在同一个事务中.
Red_angelX 2007-01-30
  • 打赏
  • 举报
回复
eee 咋会这样呢 两个操作不涉及死锁吧
boytomato 2007-01-30
  • 打赏
  • 举报
回复
数据处理快1
数据处理快2
都开一个线程去跑

这个尝试过
没什么效果
rocy520 2007-01-30
  • 打赏
  • 举报
回复
同一个线程,两种操作,是不是要考虑一下先后`~~
boytomato 2007-01-30
  • 打赏
  • 举报
回复
其实也是如何解决多线程占用接近100% cpu
可是分开后那个复杂的数据块也只占 40%做右 cpu
不复杂的程序只占 20%做右
Red_angelX 2007-01-30
  • 打赏
  • 举报
回复
数据处理快1
数据处理快2
都开一个线程去跑

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧