社区
Windows SDK/API
帖子详情
线程是怎么处理300条数据
sxper
2015-08-14 08:33:38
比如我原来有300条sql继续需要 update 我用线程。如果是单线程。好像也就是窗体不卡住而已。
怎么样开3个线程 每个线程处理分别100条记录。
或者说,多线程是怎么处理这个300条update语句的。又快又合理。
...全文
273
8
打赏
收藏
线程是怎么处理300条数据
比如我原来有300条sql继续需要 update 我用线程。如果是单线程。好像也就是窗体不卡住而已。 怎么样开3个线程 每个线程处理分别100条记录。 或者说,多线程是怎么处理这个300条update语句的。又快又合理。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
缘中人
2015-08-18
打赏
举报
回复
lyhoo163 专业 强
lyhoo163
2015-08-18
打赏
举报
回复
线程只能独立运行,不能加快速度。 处理300万条数据,都是要CPU支处理的,如果开了10个线程,这10个线程都是由CPU分配时间去处理。不会加速度的。 线程用在异步或同步处理上: 1、主线程执行同时,又需要执行其它任务。 2、两个任务,按步就班地执行(同步)。 3、比较耗时的任务,让线程去代码去执行。(无论它何时执行完)
sxper
2015-08-17
打赏
举报
回复
或者我的例子300万条记录
sxper
2015-08-17
打赏
举报
回复
那你说多线程是用在什么地方的。
lyhoo163
2015-08-15
打赏
举报
回复
线程只能独立运行,不能加快速度。
lyhoo163
2015-08-15
打赏
举报
回复
一、线程是进程中的一个实体,是被系统独立调度和分派的基本单位。线程占用CPU的分配资源。
二、你的300条数据的处理,不需要通过线程来处理,直接在主线程中依次处理即可。
三、如果你通过二个线程来处理,二个线程分配的CPU,与你的主线程中占用的CPU基本一致,所以处理的时间上大体一致的。
四、随着硬件的发展,目录的计算机多是多核的。即使在一个主线程上处理(几十万条)数据的话。在多核的计算机上,可以通过Delphi的The Run Time Library(RTL)技术,它可以打开多核CPU,让每个核CPU都来参与运行。加快处理的速度。
注:The Run Time Library(RTL)技术,只有在在XE7以上使用。
一路随云
2015-08-15
打赏
举报
回复
一条足够 因为硬盘IO是绝对干不过CPU的 你就是开100条线程 每条 执行3条 和 你一条线成跑三百条相比 效率只会更慢不会更快!
Mr Dang
2015-08-14
打赏
举报
回复
没必要开多线程吧
用多
线程
优化Excel表格
数据
导入校验的接口
公司的需求,当前某个Excel导入功能,流程是:读取Excel
数据
,传入后台校验每一
条
数据
,判断是否符合导入要求,返回给前端,导入预览展示。(前端等待响应,难点)。用户再点击导入按钮,进行异步导入(前端不等待,好做)。当前接口仅支持
300
条
数据
,现在要求我要支持
300
0
条
数据
。 解决问题,思路是关键。 首先,查看接口,找到读取表格的位置,看到判断,如果
数据
量大于
300
,直接返回。...
Java
线程
池 +生产者消费者+MySQL读取
300
万
条
数据
1.1需求
数据
库
300
万
条
用户
数据
,遍历获取所有用户, 各种组合关联, 获取到一个新的json ,存到redis 上。1.2 难点
数据
库比较多, 不可能单
线程
查询所有的
数据
到内存。1.3解决办法 多
线程
读取, 生产者 每次获取200
条
数据
, 消费者去消费。(这里 主要是根据MySQL分页去获取下一个200
条
数据
)1.4 代码1.4.1 调用方法/** *
线程
启动 ...
Ubuntu/linux c开发(4)
线程
池
线程
池 linux c++
效率坊解析工具VS传统方法:效率提升
300
%的秘诀
最近在做一个
数据
解析的项目时,我深刻体会到了工具选择对工作效率的影响。于是,我开发了一个效率对比演示工具,专门用来展示"效率坊解析工具"与传统方法的差异。在测试1000
条
数据
样本时,传统方法平均耗时3分12秒,而效率坊工具仅需58秒,速度提升近
300
%。另一个要点是异常
处理
,当
数据
格式不规范时,工具能自动记录异常而不中断流程,这点在传统方法中很难实现。从我的实测
数据
来看,长期积累节省的时间会非常可观。不需要操心服务器配置,写完代码直接就能看到运行效果,还能生成可分享的演示链接,这对快速验证想法特别有帮助。
mybatis框架连接池BUG-少一次提交
最近工作中需要写一个DEMO,场景是将表a分区1的
300
万
条
记录,进行查询,然后插入到历史表b中,然后对表a的一列进行update。插入和更新操作采取开
线程
,分别起30个
线程
处理
,每2000个语句一次提交。在测试的过程中发现,更新或者插入操作总是会少2000
条
数据
,最后发现是mybatis框架里的连接池有bug,配置文件中改为"UNPOOLED"就可以了,但是
处理
速率会下降一些。
Windows SDK/API
1,184
社区成员
22,326
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章