¹é½áÒ»ÏÂ×Ó:C#Ïß³Ìͬ²½µÄ¼¸ÖÖ²½Öè
ÎÒÃÇÔÚ±à³ÌµÄʱ·Ö£¬ÓÐʱ»áÔËÓöàÏß³ÌÀ´½â¾öÎÊÌ⣬ÀýÈçÄãµÄ³ÌÐò¼±ÐèÔÚºǫ́ÀÏ°å´¦ÖÃÒ»´ó¶ÑÊý¾Ý£¬µ«»¹ÒªÊ©Óû§½çÃæ¾ÓÓڿɲÙ×÷״̬£»»òÐíÄãµÄ³ÌÐòؽÐè·ÃÎÊһЩÍⲿ×ÊԴϤÊý¾Ý¿â»òÍøÂç×ÊÁϵȡ£ÕâЩ¾°¿öÄ㶼¿ÉÒÔ´´ÉèÒ»¸öÍ·Ïß³ÌÈ¥´¦Öã¬È»Ôò£¬¶àÏ̲߳»¿ÉÄæתµØ»á´ø»ØÒ»¸öÎÊÌ⣬ÄËÊÇÏß³Ìͬ²½µÄÎÊÌâ¡£ÈçÆäÕâ¸öÎÊÌâ´¦ÖÃÔã¸â£¬ÎÒÃǾͻáʧȥһЩ·ÇÔ¤ÆڵĽá¹û¡£
¡¡¡¡ÔÚÍøÉÏÒ²¿´¹ýһЩÖÁÓÚÏß³Ìͬ²½µÄ¸å¼þ£¬ÊµÔòÏß³Ìͬ²½Óкü¸ÖÖ²½Ö裬ϲ¿ÎÒ¾ÍÈÝÒ×µÄ×öÒ»ÏÂ×Ó¹é½á¡£
¡¡¡¡1¡¢volatile¹Ø¼ü×Ö
¡¡¡¡volatileÊÇ×îÈÝÒ×µÄÒ»ÖÖͬ²½²½Ö裬µ±È»ÈÝÒ×ÊÇÒª¸¶³ö´ú¼ÛµÄ¡£ËüÖ»ºÃÔÚ±äÁ¿Ò»¼¶×öͬ²½£¬volatileµÄº¬ÒâÄËÊǸæËß΢´¦ÀíÆ÷£¬ ²»Óý«ÎÒ·ÅÈ빤×÷ÄÚ´æ´¢Æ÷£¬ ÇëÖ±½ÓÔÚÖ÷´æ²Ù×÷ÎÒ¡££¨¡¾×ª×Ôwww.bitsCN.com ¡¿£©Òò¶ø£¬Ó¦¶àÏß³ÌÓë´Ëͬʱ·ÃÎʸñäÁ¿Ê±£¬¶¼½«Ö±½Ó²Ù×÷Ö÷´æ£¬´Ó±¾ÖÊÉÏ×÷µ½Á˱äÁ¿¹²Ïí¡£
¡¡¡¡Äܹ»±»±êʶΪvolatileµÄÎñ±ØÊÇÒԴμ¸Àà±ðÐÍ£º£¨Õª×ÔMSDN£©
•Any reference type.
•Any pointer type (in an unsafe context).
•The types sbyte, byte, short, ushort, int, uint, char, float, bool.
•An enum type with an enum base type of byte, sbyte, short, ushort, int, or uint.
¡¡¡¡È磺
Code
public class A
{
private volatile int _i;
public int I
{
get { return _i; }
set { _i = value; }
}
}
¡¡¡¡µ«volatile²¢²»ÄÜʵÏÖÕæ¸öµÄͬ²½£¬ÓÉÓÚËüµÄ²Ù×÷¼¶±ðֻͣÁôÔÚ±äÁ¿¼¶±ð£¬¶ø²»ÊÇÔ×Ó¼¶±ð¡£Èç¹ûÊÇÔÚµ¥Î¢´¦ÀíÆ÷ϵͳÖУ¬ÊÇûÈκÎÎÊÌâµÄ£¬±äÁ¿ÔÚÖ÷´æÖÐûÓлú»á±»ÆäËûÈËÅú¸Ä£¬ÓÉÓÚΨÓÐÒ»¸ö΢´¦ÀíÆ÷£¬Õâ¾Í½Ð×öprocessor Self-Consistency¡£µ«ÔڶദÀíÆ÷ϵͳÖУ¬»òÕ߾ͻáÓÐÎÊÌâ¡£ ÿ¸ö΢´¦ÀíÆ÷¶¼ÓÐ×Ô¸ö¶ùµÄdata cach£¬²¢ÇÒ±»¸üеÄÊý¾ÝҲδ¼ûµÃ»áÁ¢Âíд»ØÀ´Ö÷´æ¡£Ö®ËùÒÔ¿ÉÄÜ»á´Ù³É²»Í¬²½£¬µ«ÕâÖÖ¾°¿öºÜÄÑ·¢×÷£¬ÓÉÓÚcachµÄ¶ÁдËٶȶԵȿ죬flushµÄƵ´ÎÒ²¶ÔµÈ¸ß£¬Î¨ÓÐÔÚѹÁ¦²âÊÔµÄʱ·Ö²ÅÓпÉÄÜ·¢Éú£¬²¢ÇÒ¼¸ÂÊÊ®·ÖÊ®·ÖС¡£
¡¡¡¡2¡¢lock¹Ø¼ü×Ö
¡¡¡¡lockÊÇÒ»ÖֱȽϺÃÓõÄÈÝÒ×µÄÏß³Ìͬ²½Ä£Ê½£¬ËüÊÇ͸¹ýΪ¸ø¶¨¶ÔÏó»ñÈ¡»¥³âËøÀ´¶ÒÏÖͬ²½µÄ¡£Ëü¿ÉÒÔ±£Ö¤Êéµ±Ò»¸öÏß³ÌÔÚÒªº¦´úÂë¶ÎµÄʱ·Ö£¬ÁíÒ»¸öÏ̲߳»»á½øÈ¥£¬ËüΨÆäÈç´ËµÈºò£¬´ýµ½ÄǸöÏ̶߳ÔÏ󱻿ªÊÍ£¬ÇÒ²»ËµÏ̳߳öÁËÁÙ½çÇø¡£Ó÷¨£º ¡¡¡¡lockµÄ²ÎÊýÎñ±ØÊÇ»ùÓÚÒýÊöÃÅÀàµÄ¶ÔÏ󣬲»ÓÃÊǸù±¾²¿ÀàÏñbool,intʲôµÄ£¬Õâô»ù±¾²»ÄÜͬ²½£¬ÔÒòÊÇlockµÄ²ÎÊýÒªÇóÊǶÔÏó£¬ÈçÈô´«µ½int£¬×¼¶¨Òª
Ïà¹ØÎĵµ£º
¡¡SQLÖÐÓÐËÄÖÖ»ù±¾µÄDML²Ù×÷£ºINSERT£¬SELECT£¬UPDATEºÍDELETE¡£
INSERTÓï¾ä
¡¡¡¡Óû§¿ÉÒÔÓÃINSERTÓï¾ä½«Ò»ÐмǼ²åÈëµ½Ö¸¶¨µÄÒ»¸ö±íÖС£ÀýÈ磬Ҫ½«¹ÍÔ±John SmithµÄ¼Ç¼²åÈëµ½±¾ÀýµÄ±íÖУ¬¿ÉÒÔʹÓÃÈçÏÂÓï¾ä£º
¡¡¡¡INSERT INTO EMPLOYEES VALUES
¡¡¡¡ ('Smith','John','1980-06-10',
¡¡¡¡ 'Los Angles',16,45000);
¡¡ ......
<Language from="SQL" To="C#">
<Type from="bigint" To="long" />
<Type from="binary" To="object" />
<Type from="bit" To="bool" />
<Type from="char" To="string" />
<Type from="datetime" To="DateTime" ......
3£©¶ÁÈ¡¡¢²éÕÒ
µ±ÄãÊÖÍ·ÓÐÒ»¸öxmlÎļþºó£¬¿ÉÒÔʹÓÃXmlDocument.Load()·½·¨½«Æä¼ÓÔؽøÀ´ÒԱ㴦Àí£¬ËùÒÔ“¶ÁÈ¡”ûÓÐʲô¿É˵µÄ¡£¶ø“²éÕÒ”²Ù×÷ÍùÍùÉæ¼°XPath£¬ÕâÀïÖ»ÊÇÎÒÈÏΪµÄ±È½Ï³£Óõ½µÄ²éÕÒ²Ù×÷£¬XPathÕâÍæÒâʵÔÚÊǺÜÇ¿´óºÜ±©Á¦¡£
»ØÍ·¿´Ê¾ÀýÎĵµxmlsample.xml£¬ÎÒÃÇ¿ÉÄÜÓöµ½ÕâÑùµÄÐèÇó£ ......
public class yzzSerialize
{
private yzzSerialize()
{ }
private static yzzCache cache = new yzzCache();
public static T GetfromXml<T>(string xmlpath, T t)
{
using (FileStream fs = new FileStream(xmlpath, FileMode.Open, FileAcces ......
ÕâÁ½¸öÔÚÒ»°ãÇé¿öÏÂÊÇÏàµÈµÄ£¬µ«ÊÇϵͳ´¦Àí»úÖÆÉÏÈ´ÓÐËù²»Í¬¡£
""»áÔÚÄÚ´æÀï»®Ò»¿é³¤¶ÈΪ0µÄ´æ´¢¿Õ¼ä£¬¶øString.EmptyÄÚ´æ²¢²»ÎªËü·ÖÅä¿Õ¼ä£¬ËùÒÔÎÞÂÛÐÔÄÜ»¹ÊÇËÙ¶ÈÉÏString.Empty¶¼ÓÅÓÚ""¡£
Ôø¾¿´¹ýһƪÅжÏ×Ö·û´®¿ÕÖµµÄÐÔÄÜÎÄÕ£¬ÀÏÍâдµÄ¹úÈË·Ò룬ÎÄÕ´óÒâ ......