多线程编程入门,请求指导

advancejar 2009-11-06 08:21:33
现在会的是,file->new->other->thread object然后创建一个
核心代码如下

主程序
procedure TForm1.Button1Click(Sender: TObject);
var mythread:TTestThread;
begin
mythread:=TTestThread.Create(false);
mythread.Resume;
end;

进程页面
procedure TTestThread.addlist;
begin
form1.Memo1.Lines.Add(tempa);
end;
procedure TTestThread.Execute;
var i:integer;
begin
{ Place thread code here }
for i:= 0 to 500 do
begin
if terminated then break;
tempa:=inttostr(i);
Synchronize(addlist) ;
end;
end;


我怎么在主进程启动2个带参数的进程(比如一个参数是a,一个是b),那么一个进程往memo1中写a1,a2……,一个写b1,b2……
...全文
67 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
advancejar 2009-11-06
  • 打赏
  • 举报
回复
谢谢,好像不错,结贴
dyzhong 2009-11-06
  • 打赏
  • 举报
回复
万一的博客,多线程部分,非常通俗易懂
advancejar 2009-11-06
  • 打赏
  • 举报
回复
我现在是这样的,create一个线程,主程序界面用鼠标还能拖来拖去,2个线程能拖动一次,3个彻底不动了,这是为什么?
贝隆 2009-11-06
  • 打赏
  • 举报
回复
给你推荐一本书:
http://topic.csdn.net/u/20090718/11/7fcf78ed-251c-4e00-82da-f98f1d8da617.html
里面有关于多线程的说明
advancejar 2009-11-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wintergoes 的回复:]
你可以把memo当成一个参数传进去
[/Quote]

能否给个完整的可以运行的实例?
我的邮箱:nikeren@163.com
如果需要加分您说话

我是做了这么个,但是变成主线程不能响应,所以想看下你的实例
wintergoes 2009-11-06
  • 打赏
  • 举报
回复
你可以把memo当成一个参数传进去
wintergoes 2009-11-06
  • 打赏
  • 举报
回复

private
paraa, parab: Integer;
public
constructor Create(Createsuspended: boolean;a, b: Integer)
end;

constructor TTestThread.Create(CreateSuspended: Boolean; a, b: Integer)
begin
inherited Create(CreateSuspended);
paraa := a;
parab := b;
end;

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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