求教关于循环中多线程的问题(200分)

B

besl

Unregistered / Unconfirmed
GUEST, unregistred user!
主线程中有一循环 while aa>1000000do
begin
aa:建立事务线程
end;
aa处为调用并启用事务处理线程,由于数据较大,我求能建立1-10个线程,这线程数由用户自定义,该如何处理和建立线程.
 
在循环中建立线程?
你还是把你想实现的目的说一下吧,这样可不是很容易明白
 
so easy
procedure TThreadManager.addAthread(const iThreadNum: integer;
constdo
Something1,DoSomething2...: TAfterNotifyEvent);
var
//事务处理线程
GatherThread: TGatherThread;
//循环计数
iLoopCount: Integer;
pCollectDataParse : PTCollectDataParse;
begin
for iLoopCount := 1 to iThreadNumdo
begin
//创建事务处理线程
GatherThread := TGatherThread.Create(True, '参数');
//对线程的事件进行赋值
GatherThread.DoSomething1 :=do
Something1;
GatherThread.DoSomething2 :=do
Something2;
//线程列表
pThreadCollect.GatherThread := GatherThread;
//增加一个线程句柄到线程管理列表中
TList1.Add(pThreadCollec);
end;
然后你可以在TThreadManager里进行线程的管理,比如唤醒所有线程,挂起所有线程,查看线程的状态,销毁线程等。具体你自己慢慢实现,思路已经说明,OVER。
 
接受答案了.
 
顶部