线程是怎么处理300条数据

sxper 2015-08-14 08:33:38
比如我原来有300条sql继续需要 update 我用线程。如果是单线程。好像也就是窗体不卡住而已。

怎么样开3个线程 每个线程处理分别100条记录。

或者说,多线程是怎么处理这个300条update语句的。又快又合理。
...全文
225 8 打赏 收藏 转发到动态 举报
写回复
用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
  • 打赏
  • 举报
回复
没必要开多线程吧

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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