| ·¢»õÆÚÏÞ: ×ÔÂò¼Ò¸¶¿îÖ®ÈÕÆð ÌìÄÚ·¢»õ | ËùÔÚµØ: Ìì½ò |
| ÓÐЧÆÚÖÁ£º ³¤ÆÚÓÐЧ | Æ·ÅÆ£º³ÏÖþ˵ |
ÏêÇé½éÉÜ
ʱ¼ä¶¼È¥ÄĶùÁË£¿
ÓÎÏ·ÍæµÃÑÛ¾¦¶¼»¨ÁË
wangÕßÏ¿¹ÈÒ»ÌìÌì
תÑÛ2018¾ÍÒª¹ýÍêÁË¡¡
ÔÙ²»Å¬Á¦ÎÒÃǾÍÀÏÁË£¬Ã»ÓÐʱ¼äÓÃÀ´ÀË·ÑÁË¡£
²»Å¬Á¦µÄÈËÒ»¶¨²»¿á£¬Ñ§javaµÄÄã±ØÑ§volatile¡£
volatileÊÇJava ÖеÄÒ»¸ö¹Ø¼ü×Ö¡£
VolatileµÄʹÓÃÌõ¼þ£º
ËäÈ»volatile¿ÉÒÔʵÏÖÇáÁ¿¼¶µÄͬ²½»úÖÆ£¬µ«ÊÇʹÓÃvolatileÐÞÊεıäÁ¿±ØÐëÂú×ãÒÔÏÂÁ½¸öÌõ¼þ£º
¶Ô±äÁ¿µÄд²Ù×÷²»ÒÀÀµÓÚµ±Ç°Öµ£¬»òÕßÈ·±£Ö»ÓÐÒ»¸öÏß³ÌÐ޸ıäÁ¿µÄÖµ£»
¸Ã±äÁ¿Ã»Óаüº¬ÔÚ¾ßÓÐÆäËû±äÁ¿µÄ²»±äʽÖС£
VolatileµÄÈý´óÌØÐÔ£º
1. volatile ±äÁ¿¾ßÓÐ synchronized µÄ¿É¼ûÐÔÌØÐÔ£¬¼°Èç¹ûÒ»¸ö×ֶα»ÉùÃ÷Ϊvolatile£¬javaÏß³ÌÄÚ´æÄ£ÐÍÈ·±£ËùÓеÄÏ߳̿´µ½Õâ¸ö±äÁ¿µÄÖµÊÇÒ»Öµġ£
ËøÌṩÁËÁ½ÖÖÖ÷ÒªÌØÐÔ£º»¥³âºÍ¿É¼ûÐÔ£¬»¥³â¼´Ò»´ÎÖ»ÔÊÐíÒ»¸öÏ̳߳ÖÓÐij¸öÌØ¶¨µÄËø£¬Òò´Ë¿ÉʹÓøÃÌØÐÔʵÏÖ¶Ô¹²ÏíÊý¾ÝµÄе÷·ÃÎÊÐÒ飬ÕâÑù£¬Ò»´Î¾ÍÖ»ÓÐÒ»¸öÏß³ÌÄܹ»Ê¹Óøù²ÏíÊý¾Ý¡£¿É¼ûÐÔÒª¸ü¼Ó¸´ÔÓһЩ£¬Ëü±ØÐëÈ·±£ÊÍ·ÅËøÖ®Ç°¶Ô¹²ÏíÊý¾Ý×ö³öµÄ¸ü¸Ä¶ÔÓÚËæºó»ñµÃ¸ÃËøµÄÁíÒ»¸öÏß³ÌÊǿɼûµÄ¡£
2.½ûÖ¹½øÐÐÖ¸ÁîÖØÅÅÐò
ÖØÅÅÐòͨ³£ÊDZàÒëÆ÷»òÔËÐÐʱ»·¾³ÎªÁËÓÅ»¯³ÌÐòÐÔÄܶø²ÉÈ¡µÄ¶ÔÖ¸Áî½øÐÐÖØÐÂÅÅÐòÖ´ÐеÄÒ»ÖÖÊֶΡ£
ÖØÅÅÐòʱ£¬ÒÔvolatileÐÞÊÎÊôÐԵĶÁ¡¢Ð´²Ù×÷´úÂëÐÐΪ·Ö½çÏߣ¬¶Á¡¢Ð´²Ù×÷Ç°ÃæµÄ´úÂë²»ÐíÅÅÐòµ½ºóÃæ£¬ºóÃæÍ¬Àí²»ÐíÅÅÐòµ½Ç°Ãæ¡£ÓÉ´ËbaoÖ¤ÓÐÐòÐÔ¡£
3.²»±£Ö¤Ô×ÓÐÔ
¹ØÓÚvolatileʵÏֵĿɼûÐÔ¿ÉÄÜ»áÎó½â£¬ÈÏΪ¼ÈÈ»volatile±äÁ¿ËùÓеÄд²Ù×÷¶¼»áÁ¢¿Ì·´Ó¦µ½ÆäËüÏß³ÌÖУ¬ÄÇô¶Ôvolatile±äÁ¿½øÐв¢·¢²Ù×÷¾ÍÊǰ²È«µÄ¡£ÓÐÕâ¸öÎó½âÊÇÒòΪºöÂÔÁËÔ×ÓÐÔ£¬volatileÊDz»baoÖ¤Ô×ÓÐԵġ£¶ÔÒ»¸ö±äÁ¿½øÐÐÐ޸ĸ³Öµ²Ù×÷£¬¿ÉÄÜдµÄ¾ÍÊÇÒ»Ìõ¼òµ¥µÄi=i+1£¬µ«ÊǵײãʵÏÖÉÏ»áÐèÒª¶àÌõ×Ö½ÚÂëÖ¸ÁîÀ´Íê³É£¬Í¬Ê±Ò»Ìõ×Ö½ÚÂëÖ¸ÁîÒ²¿ÉÄÜת»¯³É¶àÌõ»úÆ÷ÂëÖ¸ÁÔÚ²¢·¢Çé¿öÏ£¬ÕâЩָÁîµÄÖ´Ðв»ÄÜbaoÖ¤Ô×ÓÐÔ¡£
VolatileµÄÓ¦Óó¡¾°£º
ÓÉÓÚvolatile baoÖ¤¿É¼ûÐÔºÍÓÐÐòÐÔ£¬±»volatileÐÞÊεĹ²ÏíÊôÐÔÒ»°ã²¢·¢¶Á/дûÓÐÎÊÌ⣬¿É¿´×öÊÇÒ»ÖÖÇáÁ¿¼¶µÄsynchronizedʵÏÖ¡£
ÔÙ²»Å¬Á¦ÎÒÃǾÍÀÏÁË
ûÓÐÆ´²«Ôõô³É³¤ÄØ
³ÏÖþ˵ÔÚÕâÀïµÈÄãÄØ
Java¿Î³ÌÄãÖµµÃÓµÓУ¡



µã»÷½»Ì¸


µã»÷½»Ì¸
µã»÷½»Ì¸
µã»÷½»Ì¸
µã»÷½»Ì¸
µã»÷½»Ì¸