1, ±£Ö¤Ḭ̈߳²È«µÄÈýÖÖ·½·¨ :
a, ²»Òª¿çÏ̷߳ÃÎʹ²Ïí±äÁ¿
b, ʹ¹²Ïí±äÁ¿ÊÇ finalÀàÐ͵Ä
c, ½«¹²Ïí±äÁ¿µÄ²Ù×÷¼ÓÉÏͬ²½
2, Ò»¿ªÊ¼¾Í½«ÀàÉè¼Æ³ÉḬ̈߳²È«µÄ , ±ÈÔÚºóÆÚÖØÐÂÐÞ¸´Ëü ,¸üÈÝÒ× .
3, ±àд¶àÏ̳߳ÌÐò , Ê×Ïȱ£Ö¤ËüÊÇÕýÈ·µÄ , Æä´ÎÔÙ¿¼ÂÇÐÔÄÜ .
4, ÎÞ״̬»òÖ»¶Á¶ÔÏóÓÀÔ¶ÊÇḬ̈߳²È«µÄ .
5, ²»Òª½«Ò»¸ö¹²Ïí±äÁ¿Âã¶ÔÚ¶àÏ̻߳·¾³Ï (ÎÞͬ²½»ò²»¿É±äÐÔ±£»¤ )
6, ¶àÏ̻߳·¾³ÏµÄÑÓ³Ù¼ÓÔØÐèҪͬ²½µÄ±£»¤ , ÒòΪÑÓ³Ù¼ÓÔØ»áÔì³É¶ÔÏóÖظ´ÊµÀý»¯
7, ¶ÔÓÚ volatile ÉùÃ÷µÄÊýÖµÀàÐͱäÁ¿½øÐÐÔËËã , ÍùÍùÊDz»°²È«µÄ (volatile Ö»Äܱ£Ö¤¿É¼ûÐÔ , ²»Äܱ£Ö¤Ô×ÓÐÔ ).
Ïê¼û volatile ÔÀíÓë¼¼ÇÉÖÐ , ÔàÊý¾ÝÎÊÌâÌÖÂÛ .
8, µ±Ò»¸öÏß³ÌÇëÇó»ñµÃËü×Ô¼ºÕ¼ÓеÄËøʱ ( ͬһ°ÑËøµÄǶÌ×ʹÓà ), ÎÒÃdzƸÃËøΪ¿ÉÖØÈëËø .
ÔÚ jdk1.5 ²¢·¢°üÖÐ , ÌṩÁË¿ÉÖØÈëËøµÄ java ʵÏÖ -ReentrantLock.
9, ÿ¸ö¹²Ïí±äÁ¿ , ¶¼Ó¦¸ÃÓÉÒ»¸öΨһȷ¶¨µÄËø±£»¤ .
´´½¨Óë±äÁ¿ÏàͬÊýÄ¿µÄ ReentrantLock, ʹËûÃǸºÔðÿ¸ö±äÁ¿µÄḬ̈߳²È« .
10,ËäÈ»ËõСͬ²½¿éµÄ·¶Î§ , ¿ÉÒÔÌáÉýϵͳÐÔÄÜ .
µ«ÔÚ±£Ö¤Ô×ÓÐÔµÄÇé¿öÏ , ²»¿É½«Ô×Ó²Ù×÷·Ö½â³É¶à¸ö synchronized¿é .
11, ÔÚûÓÐͬ²½µÄÇé¿öÏ , ±àÒëÆ÷Óë´¦ÀíÆ÷ÔËÐÐʱµÄÖ¸ÁîÖ´ÐÐ˳Ðò¿ÉÄÜÍêÈ«³öºõÒâÁÏ .
ÔÒòÊÇ , ±àÒëÆ÷»ò´¦ÀíÆ÷ΪÁËÓÅ»¯×ÔÉíÖ´ÐÐЧÂÊ , ¶ø¶ÔÖ¸Áî½øÐÐÁ˵ÄÖØÅÅÐò (reordering).
12, µ±Ò»¸öÏß³ÌÔÚûÓÐͬ²½µÄÇé¿ö϶ÁÈ¡±äÁ¿ , Ëü¿ÉÄÜ»áµÃµ½Ò»¸ö¹ýÆÚÖµ , µ«ÊÇÖÁÉÙËü¿ÉÒÔ¿´µ½ÄǸö
Ïß³ÌÔÚµ±Ê±É趨µÄÒ»¸öÕæʵÊýÖµ . ¶ø²»ÊÇƾ¿Õ¶øÀ´µÄÖµ . ÕâÖÖ°²È«±£Ö¤ , ³Æ֮Ϊ ×îµÍÏ޵ݲȫÐÔ (out-of-thin-air safety)
ÔÚ¿ª·¢²¢·¢Ó¦ÓóÌÐòʱ , ÓÐʱΪÁË´ó·ù¶ÈÌá¸ßϵͳµÄÍÌÍÂÁ¿ÓëÐÔÄÜ , »á²ÉÓÃÕâÖÖÎÞ±£ÕϵÄ×ö·¨ .
µ«ÊÇÕë¶Ô , ÊýÖµµÄÔËËã , ÈÔ¾ÉÊDZ»·ñ¾öµÄ .
13, volatile ±äÁ¿ , Ö»Äܱ£Ö¤¿É¼ûÐÔ , ÎÞ·¨±£Ö¤Ô×ÓÐÔ .
14, ijЩºÄʱ½Ï³¤µÄÍøÂç²Ù×÷»ò IO, È·±£Ö´ÐÐʱ , ²»ÒªÕ¼ÓÐËø .
15, ·¢²¼ (publish) ¶ÔÏó , Ö¸µÄÊÇʹËüÄܹ»±»µ±Ç°·¶Î§Ö®ÍâµÄ´úÂëËùʹÓà .( ÒýÓô«µÝ )
¶ÔÏóÒݳö (escape), Ö¸µÄÊÇÒ»¸ö¶ÔÏóÔÚÉÐδ׼±¸ºÃʱ½«Ëü·¢²¼ .
ÔÔò : Ϊ·ÀÖ¹Òݳö , ¶ÔÏó±ØÐëÒª±»ÍêÈ«¹¹ÔìÍêºó , ²Å¿ÉÒÔ±»·¢²¼ ( ×îºÃµÄ½â¾ö·½Ê½ÊDzÉÓÃͬ²½ )
this ¹Ø¼ü×ÖÒýÓöÔÏóÒݳö
Àý×Ó : ÔÚ¹¹Ô캯ÊýÖÐ , ¿ªÆôÏß³Ì , ²¢½«×ÔÉí¶ÔÏó this ´«ÈëÏß³Ì , Ôì³ÉÒýÓô«µÝ .
¶ø´Ëʱ , ¹¹Ô캯ÊýÉÐδִÐÐÍê , ¾Í»á·¢Éú¶ÔÏóÒݳöÁË .
16, ±ØҪʱ , ʹÓà ThreadLocal±äÁ¿È·±£Ï̷߳â