c#ÖжàÏß³Ìͬ²½½â¾ö·½°¸
c#ÖжàÏß³Ìͬ²½½â¾ö·½°¸
C#ÖжÔÓÚ¶àÏ̱߳à³ÌÓкܺõÄÖ§³Ö£¬³£ÓõÄÓÐÒÔϼ¸ÖÖ½â¾ö·½°¸£º
1. Lock(object) ¶ÔÐèҪͬ²½µÄ´úÂë¿é¼ÓËø£»
¡¡¡¡¡¡¡¡2. Monitor Class
¡¡¡¡¡¡¡¡3. ReaderWriterLock Class¡¡¡¡¡¡
4. Mutex Class
5. Semaphore
6. Event
Õâ´ÎÎÒÖ÷Ҫ˵һÏ Lock ºÍ Monitor¡£¶ÔÓÚLock Ïë±ØÓÐÒ»¶¨¶àÏ̱߳à³Ì¾ÑéµÄ³ÌÐòÔ±¶¼»áºÜÊìϤ£¬¿´Ãû×Ö¾ÍÖªµÀ´ó¸ÅÊÇʲôÒâ˼ÁË¡£Lock ¾ÍÊÇÒ»°ÑËø£¬¾Ù¸öºÜ²»ÑŵÃÀý×Ó¡£±ÈÈç˵ÎÒÃÇÈ¥ÉÏWC£¬µ±Äã½øÈ¥ºó¾ÍÒª°ÑÃÅËøס£¬ºóÀ´µÄÈËÖ»ÄܵÈÄã·½±ãÍêÁ˲ÅÄܽøÈ¥¡£
private string lockFlag = "LOCK";
public void GoWC(Person p)
{
lock (lockFlag)
{
Console.WriteLine("Begin");
Console.WriteLine("End");
}
}
LockʹÓÃÆðÀ´·Ç³£·½±ã£¬ÓÐÒ»µãÐèҪעÒâ¾ÍÊÇÄãͬ²½µÄ¶ÔÏó×îºÃÊÇprivate»òprivate static£¬ÒòΪÈç¹ûÕâ¸öͬ²½¶ÔÏóÊÇpublic»òinternal,¾ÍÓпÉÄܱ»ÆäËû³ÌÐòÖÐÆäËû²¿·ÖµÄ´úÂë»ñµÃ£¬ÕâÑùµÄ»°ÄãµÄlock¾ÍʧȥµÄ×÷Óã¬Ò²¾ÍÊÇ˵Õâ¸öWCµÄÔ¿³×Ö»ÄÜÓÐÒ»°Ñ£¬Ö»ÓнøÁËWCµÄÈ˲ÅÄÜ»ñµÃ£¬ÆäËûµÈ´ýµÄÈËÊÇûÓа취»ñµÃµÄ¡£
¡¡¡¡ÁíÒ»¸ö³£ÓõĽâ¾ö·½°¸ÊÇʹÓÃMonitor class¡£ monitor class ºÍlockÆäʵ±¾ÉíûÓÐʲôÇø±ð£¬ÕâÄÑÃâ»áÈÃÈ˾õµÃ·Ñ½â£¬Æäʵ²»È»¡£¶ÔÓÚʹÓÃlock¹Ø¼ü×ÖÀ´Ëµ¾³£»á·¢ÉúÒ»ÖÖÈÃÈ˷dz£ÓôÃƵÄÊÂÇé“Deadlock”,µ±personAÓµÓÐr
Ïà¹ØÎĵµ£º
ÔÚC#3.0ÖÐÔö¼ÓÁËÒ»¸ö±äÁ¿ÉùÃ÷var£¬Õâ¸öÉùÃ÷ºÍJavaScriptµÄvarÀàËÆ£¬µ°Ò²²»Í¬¡£(*^__^*) ÎûÎû……
1.Ïàͬµã£¬Ëü¿ÉÒÔÓÃvarÀ´ÉùÃ÷ÈκÎÀàÐ͵ľֲ¿±äÁ¿¡£
2.²»Í¬µã Ëü½ö½ö¸æËß±àÒëÆ÷£¬¸Ã±äÁ¿ÐèÒª¸ù¾Ý³õʼ»¯±í´ïʽÀ´È·¶¨±äÁ¿µÄÀàÐÍ£¬¶øÇÒÖ»ÄÜÊǾֲ¿±äÁ¿¡£ ......
* Copyright all(c) 2005 ZhongFeng, http://blog.csdn.net/SW515 */
public class ValidateCode : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
this.CreateCheckCodeImage(GenerateCheckCode());
}
&nb ......
µÚÒ»Õ ³ÌÐòÉè¼Æ
¡¡¡¡“ÒªÏë³ÉΪÕæÕýµÄ³ÌÐòÔ±£¬ÎÒÃÇÐèÒª½øÐÐÒ»³¡Ï´Àñ¡£”
¡¡¡¡“³ÌÐò = Êý¾Ý½á¹¹ + Ëã·¨¡£”ÕâÑùµÄ¹«Ê½ºÜ¾«±Ù£¬ËüÔ½¹ýÁ˱í²ãÖ±½ÓÃèÊöÁ˳ÌÐòµÄ±¾ÖÊ¡£²»½öÈç´Ë£¬ÕâÑù¼¸¸ö¼òµ¥µÄµ¥´ÊÒ²ÈÃÎÒÃÇÃ÷°×“ÎÒÃÇÓ¦¸ÃѧϰʲôÄÚÈÝ£¿”¡£ÈËÃÇ×öÈκÎʶ¼ÓÐÒ»¶¨µÄ³ÌÐò£¬Ö»ÊÇûÓÐÒâÊ ......
ËùνË÷ÒýÆ÷¾ÍÊÇÒ»ÀàÌØÊâµÄÊôÐÔ
£¬Í¨¹ýËüÃÇÄã¾Í¿ÉÒÔÏñÒýÓÃÊý×é
Ò»ÑùÒýÓÃ×Ô¼ºµÄÀà¡£ÏÔÈ»£¬ÕâÒ»¹¦ÄÜÔÚ´´½¨¼¯ºÏÀàµÄ³¡ºÏÌرðÓÐÓ㬶øÔÚÆäËûijЩÇé¿öÏ£¬±ÈÈç´¦Àí´óÐÍÎļþ»òÕß³éÏóijЩÓÐÏÞ×ÊÔ´µÈ£¬ÄÜÈÃÀà¾ßÓÐÀàËÆÊý×éµÄÐÐΪµ±È»Ò²ÊǷdz£ÓÐÓõġ£
¡¡¡¡Ê×ÏÈÎÒÃÇÏÈÀ´¿´¿´Êý×éÀࣺ
//ʹÓÃÊý×éÀà
&nbs ......