怎么样开3个线程 每个线程处理分别100条记录。
或者说,多线程是怎么处理这个300条update语句的。又快又合理。
8 个解决方案
#1
没必要开多线程吧
#2
一条足够 因为硬盘IO是绝对干不过CPU的 你就是开100条线程 每条 执行3条 和 你一条线成跑三百条相比 效率只会更慢不会更快!
#3
一、线程是进程中的一个实体,是被系统独立调度和分派的基本单位。线程占用CPU的分配资源。
二、你的300条数据的处理,不需要通过线程来处理,直接在主线程中依次处理即可。
三、如果你通过二个线程来处理,二个线程分配的CPU,与你的主线程中占用的CPU基本一致,所以处理的时间上大体一致的。
四、随着硬件的发展,目录的计算机多是多核的。即使在一个主线程上处理(几十万条)数据的话。在多核的计算机上,可以通过Delphi的The Run Time Library(RTL)技术,它可以打开多核CPU,让每个核CPU都来参与运行。加快处理的速度。
注:The Run Time Library(RTL)技术,只有在在XE7以上使用。
二、你的300条数据的处理,不需要通过线程来处理,直接在主线程中依次处理即可。
三、如果你通过二个线程来处理,二个线程分配的CPU,与你的主线程中占用的CPU基本一致,所以处理的时间上大体一致的。
四、随着硬件的发展,目录的计算机多是多核的。即使在一个主线程上处理(几十万条)数据的话。在多核的计算机上,可以通过Delphi的The Run Time Library(RTL)技术,它可以打开多核CPU,让每个核CPU都来参与运行。加快处理的速度。
注:The Run Time Library(RTL)技术,只有在在XE7以上使用。
#4
线程只能独立运行,不能加快速度。
#5
那你说多线程是用在什么地方的。
#6
或者我的例子300万条记录
#7
线程只能独立运行,不能加快速度。
处理300万条数据,都是要CPU支处理的,如果开了10个线程,这10个线程都是由CPU分配时间去处理。不会加速度的。
线程用在异步或同步处理上:
1、主线程执行同时,又需要执行其它任务。
2、两个任务,按步就班地执行(同步)。
3、比较耗时的任务,让线程去代码去执行。(无论它何时执行完)
处理300万条数据,都是要CPU支处理的,如果开了10个线程,这10个线程都是由CPU分配时间去处理。不会加速度的。
线程用在异步或同步处理上:
1、主线程执行同时,又需要执行其它任务。
2、两个任务,按步就班地执行(同步)。
3、比较耗时的任务,让线程去代码去执行。(无论它何时执行完)
#8
lyhoo163 专业 强
#1
没必要开多线程吧
#2
一条足够 因为硬盘IO是绝对干不过CPU的 你就是开100条线程 每条 执行3条 和 你一条线成跑三百条相比 效率只会更慢不会更快!
#3
一、线程是进程中的一个实体,是被系统独立调度和分派的基本单位。线程占用CPU的分配资源。
二、你的300条数据的处理,不需要通过线程来处理,直接在主线程中依次处理即可。
三、如果你通过二个线程来处理,二个线程分配的CPU,与你的主线程中占用的CPU基本一致,所以处理的时间上大体一致的。
四、随着硬件的发展,目录的计算机多是多核的。即使在一个主线程上处理(几十万条)数据的话。在多核的计算机上,可以通过Delphi的The Run Time Library(RTL)技术,它可以打开多核CPU,让每个核CPU都来参与运行。加快处理的速度。
注:The Run Time Library(RTL)技术,只有在在XE7以上使用。
二、你的300条数据的处理,不需要通过线程来处理,直接在主线程中依次处理即可。
三、如果你通过二个线程来处理,二个线程分配的CPU,与你的主线程中占用的CPU基本一致,所以处理的时间上大体一致的。
四、随着硬件的发展,目录的计算机多是多核的。即使在一个主线程上处理(几十万条)数据的话。在多核的计算机上,可以通过Delphi的The Run Time Library(RTL)技术,它可以打开多核CPU,让每个核CPU都来参与运行。加快处理的速度。
注:The Run Time Library(RTL)技术,只有在在XE7以上使用。
#4
线程只能独立运行,不能加快速度。
#5
那你说多线程是用在什么地方的。
#6
或者我的例子300万条记录
#7
线程只能独立运行,不能加快速度。
处理300万条数据,都是要CPU支处理的,如果开了10个线程,这10个线程都是由CPU分配时间去处理。不会加速度的。
线程用在异步或同步处理上:
1、主线程执行同时,又需要执行其它任务。
2、两个任务,按步就班地执行(同步)。
3、比较耗时的任务,让线程去代码去执行。(无论它何时执行完)
处理300万条数据,都是要CPU支处理的,如果开了10个线程,这10个线程都是由CPU分配时间去处理。不会加速度的。
线程用在异步或同步处理上:
1、主线程执行同时,又需要执行其它任务。
2、两个任务,按步就班地执行(同步)。
3、比较耗时的任务,让线程去代码去执行。(无论它何时执行完)
#8
lyhoo163 专业 强