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
Ïà¹ØÎĵµ£º
ÔÎĵØÖ·£ºhttp://msdn.microsoft.com/zh-cn/library/79b3xss3(VS.80).aspx
¾²Ì¬ÀàºÍÀà³ÉÔ±ÓÃÓÚ´´½¨ÎÞÐè´´½¨ÀàµÄʵÀý¾ÍÄܹ»·ÃÎʵÄÊý¾ÝºÍº¯Êý¡£¾²Ì¬Àà³ÉÔ±¿ÉÓÃÓÚ·ÖÀë¶ÀÁ¢ÓÚÈκζÔÏó±êʶµÄÊý¾ÝºÍÐÐΪ£ºÎÞÂÛ¶ÔÏó·¢Éúʲô¸ü¸Ä£¬ÕâЩÊý¾ÝºÍº¯Êý¶¼²»»áËæÖ®±ä»¯¡£µ±ÀàÖÐûÓÐÒÀÀµ¶ÔÏó±êʶµÄÊý¾Ý»òÐÐΪʱ£¬ ......
1.Á¬½ÓÊý¾Ý¿âÎļþ
<add name="LocalSqlServer" connectionString="Data Source=.\SQLExpress;Integrated Security=True;AttachDBFilename=|DataDirectory|TimeTracker.mdf;User Instance=true" />
SqlConnectionStringBuilderʵÀý»¯Ê±£¬ÒªÓõ½connectionString£¬È磺SqlConnectionStringBuild builder = new SqlCon ......
c#ÖÐÁ½ÖÖ²ÎÊý´«µÝ·½Ê½£¬refºÍ·Çref£¬Ò»Ð©ÈË»á¾õµÃÊÇ·ñ²ÉÓÃref´«µÝ»áÓиü¸ßµÄЧÂÊ£¬Êµ¼ÊÄØ£¿ÏÂÃæ·Ö±ð¿´Ï¡£
1¡¢ÖµÀàÐͲÎÊývoid FuncA(int iArg1,double dArg1,ref int iArg2,ref double dArg2)¡£
iArg1ºÍdArg1²»¼Óref£¬´ËʱµÄÈ·»áÔÚÕ»À�±´Ò»·ÝÖµ£¬µ«Í¬Ê ......
using System;
using System.Data;
using System.Data.OleDb;
namespace AccessDb
{
/**//// <summary>
/// AccessDb µÄժҪ˵Ã÷£¬ÒÔÏÂÐÅÏ¢ÇëÍêÕû±£Áô
/// ÇëÔÚÊý¾Ý´«µÝÍê±Ïºóµ÷ÓÃClose()·½·¨£¬¹Ø±ÕÊý¾ÝÁ´½Ó¡£
/// </summary>
public class AccessDbClass
{
±äÁ¿Éù ......