主界面代码:unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls
  ,Unit2
  ;type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Edit2: TEdit;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
    thrDemo:TThrDemo;
    thrDemo2:TThrDemo;
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation
  //uses Unit2;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
  //TthrDemo.Create(Edit1);
  thrDemo:=TThrDemo.create(edit1);
end;procedure TForm1.Button2Click(Sender: TObject);
begin
  thrDemo2:=TthrDemo.Create(Edit2);
  //TthrDemo2.Create(Edit2);
  //thrDemo2:=TThrDemo2.create(edit2);
end;end.线程类代码:
unit Unit2;interfaceuses
  Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
  Dialogs,StdCtrls;type
  TThrDemo=class(TThread)
  private
    { Private declarations }
    J:Integer;
    FEdit:TEdit;    procedure setValue;
  public
    constructor create(Edit:TEdit);
  protected
    procedure Execute; override;
  end;
implementation
{ TThrDemo }constructor TThrDemo.create(Edit:TEdit);
begin  FEdit:=Edit;
  FreeOnTerminate:=true;
  inherited create(false);
end;procedure TThrDemo.Execute;
var
  i:Integer;
begin
  J:=0;
    //while 1<>0 do
  begin
    for i:=1 to 50000 do
    begin
      J:=J+i;
      Synchronize(setValue);
    end;
  end;end;procedure TThrDemo.setValue;
begin
  FEdit.Text:=IntToStr(J);
end;
end.button1,button2 单独点击时,线程都能正常,也可以移动主界面,
如先点击button1,再点击button2 时,主界面停止响应,直到线程执行结束才正常;
但有个情况下又可以,系统同时再执行一个耗cpu资源的程序(例如复制一个大的文件)时,同时执行button1,button2线程,也可以移动主界面不知bug在何处?
请各位帮忙看下!