Delphi¶àÏß³Ìѧϰ£¨3£©£ºÏß³Ìͬ²½µÄÔÒò
ÔÚʹÓöàÏ̵߳Äʱºò£¬Èç¹û¶àÏ̶߳Ôij¸öÌØ¶¨µÄ¹«¹²Êý¾Ý»ò×ÊÔ´½øÐзÃÎÊ£¬ÐèÒª¶Ô¶àÏ߳̽øÐÐе÷²Ù×÷£¬½Ð×öÏß³Ìͬ²½¡£
ÀýÈ磺Èý¸öÏ̷ֱ߳ðÑ»·µØÏòListBoxÖÐдÈëÊý¾Ý¡£Ã»ÓнøÐÐͬ²½Ê±£¬Ð´ÈëµÄ˳ÐòÊDz»È·¶¨µÄ¡£
{Ö÷´°Ìå´úÂë}
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
ListBox1: TListBox;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses MyThread;
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
TMyThread.Create(False);
TMyThread.Create(False);
TMyThread.Create(False);
end;
end.{¶àÏ̴߳úÂë}
unit MyThread;
interface
uses
Classes,StdCtrls,SysUtils,Windows;
type
TMyThread = class(TThread)
private
{ Private declarations }
str:String;
procedure AddList;
protected
procedure Execute; override;
end;
implementation
uses Unit2;
{ TMyThread }
procedure TMyThread.AddList;
begin
Form2.ListBox1.Items.Add(str);
end;
procedure TMyThread.Execute;
var
i:Integer;
begin
{ Place thread code here }
for i := 0 to 99 do
begin
if not Terminated then
begin
str:=Format('Ïß³ÌID:%d£¬µÚ%d¸öÑ»·¡£',[GetCurrentThreadId,i]);
Synchronize(AddList);
end;
end;
end;
end.
Èý¸öÏ̸߳ù¾Ý·ÖÅäµ½µÄCPUʱ¼äµÄ˳ÐòÏòListBoxÖÐдÈëÊý¾Ý¡£ÕâÀïµÄ¹«¹²×ÊÔ´ÊÇListBox¡£
¿ÉÒÔ½«Õâ¸ö¹«¹²µÄÀä×ÊÔ´±ÈÓ÷Ϊһ¸öͼÊé¹Ý£¬Ï̱߳ÈÓ÷Ϊ½èÊé¿´ÊéµÄÈËÔ±¡£ÄÇôûÓÐͬ²½´¦ÀíµÄÇé¿öÏ£¬¾ÍºÃÏñͼÊé¹ÝÍêÈ«¿ª·Å£¬Ã»ÓÐÈ˹ÜÀí£¬Ã¿¸öÈ˶¼¿ÉÒÔ·ÃÎÊÕâ¸öͼÊé¹Ý¡£¿´ÆðÀ´ÂÒÔãÔãµÄ£¬¶øÇÒµ±Ä³ÈËÏë½èÊéAµÄ»°£¬²éѯµÄʱºòÊéA»¹ÔÚ£¬µ±ËûÈ¥½èµÄʱºò¿ÉÄܱ»ÁíÒ»ÈËÒѽè×ß¡£
ΪÁ˸üºÃ¹ÜÀíµÄÐèÒª£¨Ä³Ð©¶Ô¹«¹²×ÊÔ´µÄ·ÃÎʱØÐëÖð¸öÏ̴߳¦Àí£¬²Å²»»á³ö´í£©£¬ÕâÀï¾ÍÒªÓõ½Í¬²½£¬¼´²éѯºÍ½èÊéÕâÁ½¸ö²½ÖèÒªÒ»ÆðÍê³É£¬µÈÒ»¸
Ïà¹ØÎĵµ£º
ÔÚ±àÖÆÁËÒ»¸öÓ¦ÓóÌÐòºóµÄά»¤½×¶Î£¬ÎÒÃÇ»áÃæÁÙ¸øÓ¦ÓóÌÐòÉý¼¶µÄ¹¤×÷.ÎÞÒÉ£¬ÊÖ¹¤Éý¼¶µÄ¹¤×÷ÊÇÊ®·Ö·±ËöµÄ£¬Äã¿ÉÄÜ»áÐèÒªµ½Óû§µÄ»úÆ÷ÉÏÈ¥¸üÐÂÎļþ.¿ÉÊÇ£¬Èç¹ûÄܱàÒ»¸ö×Ô¶¯Éý¼¶³ÌÐò£¬·ÅÔÚÍøÂçÉÏ£¬ÈÃÓû§ÏÂÔØ£¬Ö»ÐèÖ´ÐÐһϾÍÍê³ÉÉý¼¶¹¤×÷£¬²»ÊǺܷ½±ãÂð£¿Æäʵ£¬ÓÃDelphi¿ÉÒԺܷ½±ãµØ±àÖÆ³öÕâÑùÒ»¸öµÄ³ÌÐò.
ÒÔÏÂÊÇÎÒÃǵÄÀý×Ó£ ......
×¢²áÂ룺6amd-pdj686-apme9d-9cdr
Ãܳףºyvx-27c
Delphi²¿·Öº¯Êý¡¢ÃüÁî¡¢ÊôÐÔÖÐÎÄ˵Ã÷
Abort º¯Êý ÒýÆð·ÅÆúµÄÒâÍâ´¦Àí
Abs º¯Êý ¾ø¶ÔÖµº¯Êý
AddExitProc º¯Êý ½«Ò»¹ý³ÌÌí¼Óµ½ÔËÐÐʱ¿âµÄ½áÊø¹ý³Ì±íÖÐ
Addr º¯Êý ·µ»ØÖ¸¶¨¶ÔÏóµÄµØÖ·
AdjustLineBreaks º¯Êý ½«¸ø¶¨×Ö·û´®µÄÐзָô·ûµ÷ÕûΪCR/LFÐòÁÐ
Align ÊôÐÔ Ê¹¿Ø¼þÎ ......
ÈçºÎµ÷ÊÔDLL£¬ÔÚÕâÀï¾Í²»ÔÙ׸ÊöÁË£¬µ«ÊÇ£¬½ñÌì¾ÍÅöµ½ÁËÒ»¸öÌØ±ðÆæ¹ÖµÄÎÊÌ⣬²ÎÊýÉèÖÃÕýÈ·£¬¾ÍÊDz»Äܵ÷ÊÔ£¿£¿ ͨ¹ýÉÏÍø²é×ÊÁÏ£¬·¢ÏÖÁËÎÊÌ⣬עÒ⣺
1£¬ ½«ProjectÖ÷²Ëµ¥µÄProject Options¶Ô»°¿òµÄCompilerÒ³ÃæDebuggingÑ¡ÏîÖÐµÄ Debug informaton¡¢Local symbols¡¢Assertions¸´Ñ¡¿òÑ¡ÖÐ
2£¬½«ToolsÖ÷²Ëµ¥µÄD ......
ÐèÒªÓõ½µÄÒ»¸öº¯Êý£º
LONG SetWindowLong(
HWND hWnd,
int nIndex,
LONG dwNewLong
);
ÆäÖÐnIndex GWL_EXSTYLE Retrieves the extended window styles.
dwNewLong WS_EX_TOOLWINDOW Creates a tool window; that is, a window intended to ......