Delphi¶àÏß³Ìѧϰ£¨6£©£ºÐźÅÁ¿Semaphore
ÐźÅÁ¿Êǽ¨Á¢ÔÚ»¥³âÁ¿µÄ»ù´¡Ö®ÉÏ£¬Í¬Ê±¼ÓÈëÖØÒªÌØÐÔ£ºÌṩÁË×ÊÔ´¼ÆÊý¹¦ÄÜ£¬Òò´ËÔ¤¶¨ÒåÊýÁ¿µÄÏß³Ìͬʱ¿ÉÒÔ½øÈëͬ²½µÄ´úÂë¿éÖС£
ÐźÅÁ¿ÊÇά»¤0µ½Ö¸¶¨×î´óÖµÖ®¼äµÄ¼ÆÊýÆ÷µÄͬ²½¶ÔÏ󣬵±Ïß³ÌÍê³ÉÒ»´ÎÐźÅÁ¿µÄµÈ´ýʱ£¬¼ÆÊýÆ÷×Ô¼õ1£¬µ±Ïß³ÌÊÍ·ÅÐźÅÁ¿¶ÔÏóʱ£¬¼ÆÊýÆ÷×ÔÔö1¡£
½èÓÃÉÏÃæµÄͼÊé¹ÝÀý×Ó£¬ÐźÅÁ¿ºÃÏñÊǶàÉ輸°Ñ¹ÜÀíÔ¿³×¡£Ã¿´Î¿ÉÒÔÉ趨N°ÑÔ¿³×ͬʱ¹¤×÷£¬ÄǾÍÓÐN¸öÈËÔ±¿ÉÒÔͬʱ°ìÀíÒµÎñ¡£
ÐźÅÁ¿Ê¹ÓõÄÒ»°ã²½Ö裺
1¡¢ÉùÃ÷Ò»¸öÈ«¾ÖµÄÐźÅÁ¿Ãû±ú£¬È磺hSem:THandle;
2¡¢´´½¨ÐźÅÁ¿£ºCreateSemphore(
lpSemaphoreAttributes:PSecurityAttributes;
lInitialCount,lMaximumCount:LongInt;
lpName:PChar):THandle;stdcall;
£¨lpSemaphoreAttributes²ÎÊý£¬Ö¸ÏòTSecurityAttributes¼Ç¼µÄÖ¸Õ룬һ°ã¿ÉÒÔȱʡÌîÈënilÖµ£»
lInitialCount²ÎÊý£¬ÊÇÐźÅÁ¿¶ÔÏóµÄ³õʼ¼ÆÊý£¬ÊÇ0~lMaximumCountÖ®¼äµÄÊý¡£µ±Ëü´óÓÚ0ʱ£¬ÐźÅÁ¿¾Í½øÈëÁËÐźÅ״̬£¬µ±WaiForSingleObjectº¯ÊýÊÍ·ÅÁËÒ»¸öỊ̈߳¬ÐźÅÁ¿¼ÆÊý¾Í¼õ1¡£Ê¹ÓÃReleaseSemphoreº¯Êý¿ÉÒÔÔö¼ÓÐźÅÁ¿¼ÆÊý£»
lMaximumCount²ÎÊý£¬ÊÇÐźÅÁ¿¶ÔÏó¼ÆÊýµÄ×î´óÖµ£»
lpName²ÎÊý£¬Ö¸¶¨ÐźÅÁ¿µÄÃû×Ö¡££©
3¡¢Óõȴýº¯ÊýWaiForSingleObjectе÷Ï̡߳£
4¡¢µ±Ò»¸öÏß³ÌÓÃÍêÒ»¸öÐźţ¬ÊÍ·Å¡£Ê¹ÓÃReleaseSemphore(
Ïà¹ØÎĵµ£º
·½·¨1£º¿ÉдΪº¯Êý£¬ÔÙµ÷ÓÃ
Application.CreateForm(TForm1, Form1);
Form1.ShowModal;
Form1.Free;
·½·¨2£º
Form1:= TForm1.Create(Application);
try
Form1.ShowModal;
finally
  ......
һЩ»ù´¡µÄÎÊÌâÎÒ²»ÔÙ׸ÊöÁË£¬²éÔİïÖúÎĵµ£¨Object Pascal SDL Doc.chm£©ÏÔÈ»±ÈÔÚÕâ¿´ÎÒºú³¶ºÏÊʵöࡣÄÇЩ»ÏñËØ£¬»ñÈ¡ÏñËØÐÅÏ¢£¬ÏÔʾBMPÎļþ¶àÊýʱºòÖ»Òª°ÑÄÇЩ´úÂë¸´ÖÆ¹ýÀ´»ù±¾¾ÍÄܹ¤×÷¡£ÏÂÃæËµµÄÊÇÔõÑùÏÔʾÖÐÎÄ¡£
ÆäʵSDL¼ÓÉÏttfÖ§³Öʱ£¨ÐèÒª½«¶ÔÓ¦µÄdllÎļþÌí¼Óµ½¹¤³ÌĿ¼ÀÊÇÍêÈ«¿ÉÒÔÏÔʾÖÐÎĵ쬼òÌåºÍ·±Ì嶼ûΠ......
Ò»¸öÑ¡µ¥´óÖÂÊÇÕâÑù£º
1.¿ÉÒÔ±»ÒÔijÖÖÐÎʽºô½Ð³öÀ´£¬Èç°´ÏÂesc£»
2.ÔÚÕâ¸öÑ¡µ¥Öй¦ÄܼüÓв»Í¬µÄ¶¨Ò壬ÈçÔ±¾·½Ïò¼ü¿ØÖÆ×ß·£¬µ«ÏÖÔÚ¸ÄΪ¿ØÖƹâ±êµÄλÖã»
3.°´ÏÂÈ·¶¨¼üºóÓжÔÓ¦¹¦Äܱ»Ö´ÐУ»
4.¿ÉÒÔ±»¹Ø±Õ¡£
ÄÇôÎҵİ취ÊDZàдÁ½¸ö×ӳ̣¬ÆäÖÐÒ»¸ö´¦ÀíÑ¡µ¥ÖеÄʼþ£¬ÁíÍâÒ»¸öרߺÔð»Ñ¡µ¥¡£
ÔÚ´Ó²½ÐÐÇл»µ½Ñ¡µ¥ ......
¼¼Êõ½»Á÷,DH½²½â.
Ã÷ÌìÈ¥×ø»ð³µ,»Ø¼Ò,½ñÌì¾ÍûÓÐÊÂ×ö,±¾À´ÔÚŪһ¸ö¿ç½ø³Ì»ñÈ¡ÆäËû³ÌÐòÀïÃæ×é¼þ,ÈçListView,ListBox,ButtonµÈµÄÐÅÏ¢,ͻȻÓиöÏë·¨×Ô¼ºÐ´¸öTimer,²»ÓÃSetTimerº¯Êý,ÎÒÃÇ×Ô¼ºÓøö¶àÏß³ÌÒ²ÕýºÃʵÏÖÕâ¸ö.·´Õýǰ¶Îʱ¼ä¶àÏß³ÌҲŪµÃ±È½Ï¶à,±¾À´Ïëµ¥¶À½²½²µÄ,ÏÖÔÚ¾ÍÓøöÀý×ÓÀ´ËµÃ÷°É.
д³ÉÒ»¸ö¿Ø¼þ:utTimer.pas
v ......
ÔÚʹÓöàÏ̵߳Äʱºò£¬Èç¹û¶àÏ̶߳Ôij¸öÌØ¶¨µÄ¹«¹²Êý¾Ý»ò×ÊÔ´½øÐзÃÎÊ£¬ÐèÒª¶Ô¶àÏ߳̽øÐÐе÷²Ù×÷£¬½Ð×öÏß³Ìͬ²½¡£
ÀýÈ磺Èý¸öÏ̷ֱ߳ðÑ»·µØÏòListBoxÖÐдÈëÊý¾Ý¡£Ã»ÓнøÐÐͬ²½Ê±£¬Ð´ÈëµÄ˳ÐòÊDz»È·¶¨µÄ¡£
{Ö÷´°Ìå´úÂë}
unit Unit2;
interface
uses
Windows, Messages, SysUtils, V ......