多线程好的过来看看

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

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

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

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






...全文
262 12 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
都开一个线程去跑
  • 打赏
  • 举报
回复
相关推荐
发帖
C#
加入

10.7w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2007-01-30 02:30
社区公告

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