社区
Windows SDK/API
帖子详情
线程是怎么处理300条数据
sxper
2015-08-14 08:33:38
比如我原来有300条sql继续需要 update 我用线程。如果是单线程。好像也就是窗体不卡住而已。
怎么样开3个线程 每个线程处理分别100条记录。
或者说,多线程是怎么处理这个300条update语句的。又快又合理。
...全文
221
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
打赏
举报
回复
没必要开多线程吧
python
线程
进程、异步IO
多
线程
是指从软件或者硬件上实现多个
线程
并发执行的技术。具有多
线程
能力的计算机因有硬件支持而能够在同一时间 执行多于一个
线程
,进而提升整体
处理
性能。 该章节主要包括
线程
进程的概念,基于python的
线程
进程实现,GIL锁的影响,消费者生产者模型,进程池的应用以及IO模型的介绍,一句话概括本章的内容就是:实现并发编程,即计算机能够同时
处理
多个任务。
大批量
数据
多
线程
高效批量
处理
工作中遇到的场景,这里写个例子出来,实际应用比此处更为健壮和完善 应用场景: 对一张表10万
条
数据
(或100万或1亿+)进行更新操作或写入操作; 菜鸟是一
条
一
条
的执行吧,这显然不行啊 我在实际项目中是这样应用的, 批量更新!当然这显然是不够的 要
线程
批量更新才对吧! 怎么做呢? 举例1:10万
条
数据
,我1000
条
1000
条
的
处理
就是,10万/1000 = 100 , 这里我就用100个
线程
同时
处理
,每个
线程
负责1000
条
数据
,这里有个关键点,
处理
的
数据
不能重复! 给个代码示例吧:
线程
多
线程
处理
大
数据
量
数据
最近公司需要一个新的需求,需要一个接口去跑
数据
。
数据
量还蛮大的,大约50-60万
数据
(一
条
一
条
执行),其中还涉及到与其他接口的交互,因此这些
数据
跑下来要耗时很久,因此设计了一个方案,使用多
线程
的方式进行
处理
。 方案1 每次重
数据
库表中取一定量的
数据
(自己按实际情况定义)放在
线程
池缓存队列里,启动10个
线程
去
线程
池里去取
数据
。(相当于生产者和消费者的关系),这里需要有一个触发点,当我缓存里没有
数据
时,需要再次从
数据
库中再次获取
数据
。 方案2 在
数据
库表中添加一个
线程
号字段,用来记录该
条
数据
...
创建多个
线程
处理
数据
库中多
条
数据
处理
思路:(1)比如查出100万
数据
(2):创建10个
线程
,循环
处理
这些
数据
,每一次
处理
调用一个
线程
,如果某一个
线程
被占用了,那么就调用另外一个
线程
,以此类推,这样就不需要等待上一个
线程
的完毕,从而加快
处理
的速度。 //需要引用的
线程
类:这个是jdk1.8自带的
线程
处理
jia包 import java.util.concurrent.ExecutorService; @Controller @Re...
java 多
线程
处理
大量并发
数据
多
线程
处理
并发
数据
Windows SDK/API
1,183
社区成员
22,338
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章