Delphi¶àÏß³Ìѧϰ£¨4£©£ºÁÙ½çÇø
ÁÙ½çÇøÊÇÒ»¶Î´úÂ룬һ´ÎÖ»ÔÊÐíÒ»¸öÏß³ÌÖ´ÐÐÕâ¶Î´úÂë¡£µ±°ÑÒ»¶Î´úÂë·ÅÈëÒ»¸öÁÙ½çÇø, Ïß³ÌÖ´Ðе½ÁÙ½çÇøÊ±¾Í¶ÀÕ¼ÁË, ÆäËûÏß³ÌÈç¹ûÒª·ÃÎÊÕâ¶Î´úÂ룬һ¶¨ÒªµÈǰһ¸ö·ÃÎʵÄÏ߳̽áÊø²ÅÐС£½èÓÃÇ°ÃæµÄ±ÈÓ÷±È×÷ͼÊé¹Ý£¬ÁÙ½çÇø¾ÍÏñ°ÑͼÊé¹ÝÉè¼Æ³ÉÖ»ÓÐÒ»¸öλÖã¨ÏÖʵÖкÃÏñ²»Ì«ºÏÀí£¬²»¹ÜÁË£¬·´ÕýÕâô¸öÒâ˼£©£¬µ±ÓÐÒ»¸öÈËÕýÔÚ°ìÀíÒµÎñʱ£¬ÆäËûÈËÖ»ÄܵȴýÄǸöÈ˰ìÍêÒµÎñ²ÅÄܽøÈ¥¡£
ʹÓÃÁÙ½çÇøµÄ²½Ö裺
1¡¢ÉùÃ÷Ò»¸öTRLCriticalSection¼Ç¼ÀàÐ͵ıäÁ¿ÈçCS£¬±ØÐëÊÇÈ«¾ÖµÄ£»
2¡¢Ê¹ÓÃǰÏȳõʼ»¯£ºInitializeCriticalSection(CS)£»
3¡¢EnterCriticalSection(CS); Ï߳̽øÈëÁÙ½çÇø£¬ÆäËûÏß³ÌÐèÒªµÈ´ý
4¡¢LeaveCriticalSection(CS); Ïß³ÌÀ뿪ÁÙ½çÇø£¬ÆäËûÏ߳̿ÉÒÔ·ÃÎÊÁË
5¡¢DeleteCriticalSection(CS); ×îºóɾ³ýÁÙ½çÇø
ÖØÐ´Ç°ÎĵÄÀý×Ó£¬ÈçÏ£º
{Ö÷´°Ìå´úÂë}
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);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
CS:TRTLCriticalSection; //È«¾ÖÁÙ½çÇø±äÁ¿
implementation
uses MyThread;
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
TMyThread.Create(False);
TMyThread.Create(False);
TMyThread.Create(False);
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
InitializeCriticalSection(CS); //³õʼ»¯
end;
procedure TForm2.FormDestroy(Sender: TObject);
begin
DeleteCriticalSection(CS); //ɾ³ý
end;
end.{Ïß³ÌÀà}
unit MyThread;
interface
uses
Classes,StdCtrls,SysUtils,Windows;
type
TMyThread = class(TThread)
private
{ Private declarations }
str:String;
procedure AddList;
protected
procedure Execute
Ïà¹ØÎĵµ£º
×¢²áÂ룺6amd-pdj686-apme9d-9cdr
Ãܳףºyvx-27c
Delphi²¿·Öº¯Êý¡¢ÃüÁî¡¢ÊôÐÔÖÐÎÄ˵Ã÷
Abort º¯Êý ÒýÆð·ÅÆúµÄÒâÍâ´¦Àí
Abs º¯Êý ¾ø¶ÔÖµº¯Êý
AddExitProc º¯Êý ½«Ò»¹ý³ÌÌí¼Óµ½ÔËÐÐʱ¿âµÄ½áÊø¹ý³Ì±íÖÐ
Addr º¯Êý ·µ»ØÖ¸¶¨¶ÔÏóµÄµØÖ·
AdjustLineBreaks º¯Êý ½«¸ø¶¨×Ö·û´®µÄÐзָô·ûµ÷ÕûΪCR/LFÐòÁÐ
Align ÊôÐÔ Ê¹¿Ø¼þÎ ......
Ò»¸öÑ¡µ¥´óÖÂÊÇÕâÑù£º
1.¿ÉÒÔ±»ÒÔijÖÖÐÎʽºô½Ð³öÀ´£¬Èç°´ÏÂesc£»
2.ÔÚÕâ¸öÑ¡µ¥Öй¦ÄܼüÓв»Í¬µÄ¶¨Ò壬ÈçÔ±¾·½Ïò¼ü¿ØÖÆ×ß·£¬µ«ÏÖÔÚ¸ÄΪ¿ØÖƹâ±êµÄλÖã»
3.°´ÏÂÈ·¶¨¼üºóÓжÔÓ¦¹¦Äܱ»Ö´ÐУ»
4.¿ÉÒÔ±»¹Ø±Õ¡£
ÄÇôÎҵİ취ÊDZàдÁ½¸ö×ӳ̣¬ÆäÖÐÒ»¸ö´¦ÀíÑ¡µ¥ÖеÄʼþ£¬ÁíÍâÒ»¸öרߺÔð»Ñ¡µ¥¡£
ÔÚ´Ó²½ÐÐÇл»µ½Ñ¡µ¥ ......
ÈçºÎµ÷ÊÔDLL£¬ÔÚÕâÀï¾Í²»ÔÙ׸ÊöÁË£¬µ«ÊÇ£¬½ñÌì¾ÍÅöµ½ÁËÒ»¸öÌØ±ðÆæ¹ÖµÄÎÊÌ⣬²ÎÊýÉèÖÃÕýÈ·£¬¾ÍÊDz»Äܵ÷ÊÔ£¿£¿ ͨ¹ýÉÏÍø²é×ÊÁÏ£¬·¢ÏÖÁËÎÊÌ⣬עÒ⣺
1£¬ ½«ProjectÖ÷²Ëµ¥µÄProject Options¶Ô»°¿òµÄCompilerÒ³ÃæDebuggingÑ¡ÏîÖÐµÄ Debug informaton¡¢Local symbols¡¢Assertions¸´Ñ¡¿òÑ¡ÖÐ
2£¬½«ToolsÖ÷²Ëµ¥µÄD ......
ÏÖÓÐһϵͳ²»¶¨Ê±ÔÚͬһĿ¼ÏÂÉú³ÉÒ»ÅútxtÎļþ,ÄÚÈÝ´ó¸ÅÈçÏÂ;
20100112_164910,6,81406392,808,113,,
Ϊ·½±ãͳ¼Æ,ÐèÒª½«ÕâЩtxtÎļþÖеÄÊý¾Ý¶ÁÈëÊý¾Ý±íÖÐ.
ÏÖÓÐÁ½ÖÖ·½·¨:
Ò»ÊÇÖ±½Ó½«Êý¾Ý¶ÁÈëµ½Êý¾Ý±íÖеÄijһÁÐÖÐ,ÔÙÓÃsql Óï¾ä²ð¿ª³É¼¸ÁÐ:
  ......