社区
.NET Framework
帖子详情
关于C#多线程效率问题
莫北_1
2013-06-24 12:59:35
如题 :
我定义了一个委托执行一个A 执行方法B(B中主要就是循环遍历表中的行),线程T 执行委托A
private void B()
{
for(i=0;i<....)
{
DataRow row=table.rows[i];
.....;
}
}
我发现随着进程慢慢的运行,效率好像越来越低,递减状态,最开始每秒钟可以执行50多个行,到最后每秒钟只能执行1 2行,请问这个是为什么? 求大神指点.
...全文
352
7
打赏
收藏
关于C#多线程效率问题
如题 : 我定义了一个委托执行一个A 执行方法B(B中主要就是循环遍历表中的行),线程T 执行委托A private void B() { for(i=0;i<....) { DataRow row=table.rows[i]; .....; } } 我发现随着进程慢慢的运行,效率好像越来越低,递减状态,最开始每秒钟可以执行50多个行,到最后每秒钟只能执行1 2行,请问这个是为什么? 求大神指点.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
IE11下面经常卡到爆
2013-07-01
打赏
举报
回复
Hightest用得比较少,用了也不一定就起作用 你在遍历dt.Rows时调用了DoImportData Tick里也调用了DoImportDate
差点看错 不知道你那些方法是在什么情况下调用到,先梳理一下你的业务流程,
迹象Kimizhou_blog
2013-07-01
打赏
举报
回复
会不会是你常见的线程太多,而没有释放掉?你在一个事件中处理完的东西,资源要释放掉哦~~ using 也是自动释放资源的一种,可以的话,加上去试试看
莫北_1
2013-06-25
打赏
举报
回复
这是部分代码段,
执行之后刚开始一段时间每秒钟可以循环50 60行数据
后面渐渐递减 到最后一秒钟只能循环2行左右的数据..这是为什么呢.
莫北_1
2013-06-25
打赏
举报
回复
我就是用Thread ....
橘色的喵
2013-06-25
打赏
举报
回复
用Thread 吧,应该好点
橘色的喵
2013-06-25
打赏
举报
回复
在下面的情况下,使用 Thread 对象: • 需要具有特定优先级的任务。 • 有可能运行很长时间的任务(这样可能阻塞其他任务)。 • 需要确保只有一个线程可以访问特定的程序集。 • 需要有与线程相关的稳定标识。
橘色的喵
2013-06-25
打赏
举报
回复
timer_tick!!!! 假如是1秒执行一次,你是不是每次都要创建一个新的线程?
C#
多线程
排序例子
一个小小的例子,用简单排序小例子诠释
多线程
的用法和
多线程
的
效率
等
C#
WinForm,
多线程
快速刷新界面。
C#
WinForm,
多线程
快速刷新界面。没什么高级技术。只希望能解决一下需要
多线程
与UI快速交互的朋友的
问题
。
C#
多线程
和Socket网络编程精讲
【教学理念】 1、把“需要工作的人”变成“工作需要的人” 2、创设“立足学生、突出项目、强化技术、提高能力”的教学局面。 【课程特色】 1、课程设计循序渐进、讲解细致、通俗易懂、非常适合自主学习 2、教学过程实例丰富、强调技术关键点、并且分析透彻 3、物美价廉:本着知识共享、服务社会宗旨,诣在为更多有需求者提供服务。 此外,提供源代码+答疑+上课讲义,为学生毕业设计、找工作面试等提供指导。
C#
高级--
多线程
详解
C#
高级–
多线程
详解 零、文章目录 一、什么是
多线程
1、进程 当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。 而一个进程又是由多个线程所组成的。 2、线程 线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。 3、句柄 句柄是Windows系统中对象或实例的标识,这些对象包括模块、应用程序实例、窗口、控制、位图、GDI对象、资源、文件等。 4、
多线程
(1)
多线程
概念
多线程
是指程序中
C#
多线程
详解
由于线程池内部维护了一定数量的线程,因此当我们使用线程池运行多个方法时,可以避免频繁地创建和销毁线程。在TestMethod方法中,我们首先调用了Wait方法来等待信号量可用,然后进行数据的操作,最后调用Release方法来释放信号量。因此,当多个线程同时执行添加操作时,就不会发生数据竞争的情况。在实际开发中,
多线程
编程是非常常见的技术手段,因此我们需要掌握
多线程
的相关知识和技巧,以提高程序的
效率
和稳定性。
C#
中的线程池用来精细管理线程的创建和销毁,避免了频繁创建和销毁线程的开销。2.1. lock语句。
.NET Framework
17,740
社区成员
24,334
社区内容
发帖
与我相关
我的任务
.NET Framework
.NET技术 .NET Framework
复制链接
扫一扫
分享
社区描述
.NET技术 .NET Framework
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章