| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1076 人关注过本帖
标题:关于多线程控制的一些问题
取消只看楼主 加入收藏
gdzhan
Rank: 2
等 级:论坛游民
帖 子:90
专家分:14
注 册:2007-4-15
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:2 
关于多线程控制的一些问题
为什么暂停线程时还是会执行的,不会暂停,,刚开始接触线程,不太懂,
请大家指定一下,

procedure TTestThread.Execute;
begin
  self.FreeOnTerminate := True;
  Synchronize(SetValue);
end;

procedure TTestThread.SetValue;
var
  i: Integer;
begin
  for i := 0 to 100000 do
  begin
    Application.ProcessMessages;
    if self.Terminated then Break;
    form1.Edit1.Text := IntToStr(i);
  end;
end;


//开始线程
procedure TForm1.Button1Click(Sender: TObject);
begin
  MyThread := TTestThread.Create(True);
  mythread.Resume;
end;

//暂停线程
procedure TForm1.Button2Click(Sender: TObject);
begin
  MyThread.Suspend;
end;

//终止线程
procedure TForm1.Button3Click(Sender: TObject);
begin
  MyThread.Terminate;
end;

//继续执行线程
procedure TForm1.Button4Click(Sender: TObject);
begin
  MyThread.Resume;
end;
搜索更多相关主题的帖子: 线程 
2010-03-01 13:18
gdzhan
Rank: 2
等 级:论坛游民
帖 子:90
专家分:14
注 册:2007-4-15
收藏
得分:0 
MyThread是跟主窗体同在一个单元,
///////////////////////////////////
// 线程类
type
  TMyThread = class(TThread)
  protected
    procedure Execute; override;
  public
end;
/////////////////
//窗体类
type
  TForm1 = class(TForm)
  private
    MyThread: TMYThread;
  public
    ........
end;

结构就是上面那样,

2010-03-03 10:44
gdzhan
Rank: 2
等 级:论坛游民
帖 子:90
专家分:14
注 册:2007-4-15
收藏
得分:0 
明白了,,非常感谢mohao163提供的答案,

2010-03-03 14:11
快速回复:关于多线程控制的一些问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015669 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved