Java Concurrent°üѧϰ֮ConcurrentHashMap
ÔÚJava concurrent°üÖÐÓÐÕâôһ¸ö½Ó¿Ú£ºConcurrentMap¡£
ConcurrentMap¼Ì³Ð×ÔMap£¬²¢Ìí¼ÓÁ˼¸¸öеÄÔ×Ó·½·¨£º putIfAbsent¡¢remove¡¢replace
Æä·½·¨ÕªÒªÈçÏ£º
V
putIfAbsent(K key, V value)
Èç¹ûÖ¸¶¨¼üÒѾ²»ÔÙÓëij¸öÖµÏà¹ØÁª£¬Ôò½«ËüÓë¸ø¶¨Öµ¹ØÁª¡£
boolean
remove(Object key, Object value)
Ö»ÓÐĿǰ½«¼üµÄÌõĿӳÉäµ½¸ø¶¨ÖµÊ±£¬²ÅÒÆ³ý¸Ã¼üµÄÌõÄ¿¡£
V
replace(K key, V value)
Ö»ÓÐĿǰ½«¼üµÄÌõĿӳÉ䵽ijһֵʱ£¬²ÅÌæ»»¸Ã¼üµÄÌõÄ¿¡£
boolean
replace(K key, V oldValue, V newValue)
Ö»ÓÐĿǰ½«¼üµÄÌõĿӳÉäµ½¸ø¶¨ÖµÊ±£¬²ÅÌæ»»¸Ã¼üµÄÌõÄ¿¡£
ConcurrentHashMapÀàÊÇConcurrentMap½Ó¿ÚµÄÒ»¸öʵÏÖÀà¡£
Ö§³Ö¼ìË÷µÄÍêÈ«²¢·¢ºÍ¸üеÄËùÆÚÍû¿Éµ÷Õû²¢·¢µÄ¹þÏ£±í¡£
´ËÀà×ñÊØÓë Hashtable ÏàͬµÄ¹¦Äܹ淶£¬²¢ÇÒ°üÀ¨¶ÔÓ¦ÓÚ Hashtable µÄÿ¸ö·½·¨µÄ·½·¨°æ±¾¡£
²»¹ý£¬¾¡¹ÜËùÓвÙ×÷¶¼ÊÇḬ̈߳²È«µÄ£¬µ«¼ìË÷²Ù×÷²» ±ØËø¶¨£¬²¢ÇÒ²» Ö§³ÖÒÔijÖÖ·ÀÖ¹ËùÓзÃÎʵķ½Ê½Ëø¶¨Õû¸ö±í¡£
´ËÀà¿ÉÒÔͨ¹ý³ÌÐòÍêÈ«Óë Hashtable ½øÐл¥²Ù×÷£¬ÕâÈ¡¾öÓÚÆäḬ̈߳²È«£¬¶øÓëÆäͬ²½Ï¸½ÚÎ޹ء£
¼ìË÷²Ù×÷£¨°üÀ¨ get£©Í¨³£²»»áÊÜ×èÈû£¬Òò´Ë£¬¿ÉÄÜÓë¸üвÙ×÷½»µü£¨°üÀ¨ put ºÍ remove£©¡£
¼ìË÷»áÓ°Ïì×î½üÍê³ÉµÄ ¸üвÙ×÷µÄ½á¹û¡£
¶ÔÓÚһЩ¾ÛºÏ²Ù×÷£¬±ÈÈç putAll ºÍ clear£¬²¢·¢¼ìË÷¿ÉÄÜÖ»Ó°ÏìijЩÌõÄ¿µÄ²åÈëºÍÒÆ³ý¡£
ÀàËÆµØ£¬ÔÚ´´½¨µü´úÆ÷/ö¾Ùʱ»ò×Ô´ËÖ®ºó£¬Iterators ºÍ Enumerations ·µ»ØÔÚijһʱ¼äµãÉÏÓ°Ïì¹þÏ£±í״̬µÄÔªËØ¡£ËüÃDz»»á Å׳ö ConcurrentModificationException¡£²»¹ý£¬µü´úÆ÷±»Éè¼Æ³Éÿ´Î½öÓÉÒ»¸öÏß³ÌʹÓá£
ÕâÔÊÐíͨ¹ý¿ÉÑ¡µÄ concurrencyLevel ¹¹Ôì·½·¨²ÎÊý£¨Ä¬ÈÏֵΪ 16£©À´Òýµ¼¸üвÙ×÷Ö®¼äµÄ²¢·¢£¬¸Ã²ÎÊýÓÃ×÷ÄÚ²¿µ÷Õû´óСµÄÒ»¸öÌáʾ¡£±íÊÇÔÚÄÚ²¿½øÐзÖÇøµÄ£¬ÊÔͼÔÊÐíָʾÎÞÕùÓò¢·¢¸üеÄÊýÁ¿¡£ÒòΪ¹þÏ£±íÖеÄλÖûù±¾ÉÏÊÇËæÒâµÄ£¬ËùÒÔʵ¼ÊµÄ²¢·¢½«¸÷²»Ïàͬ¡£ÀíÏëÇé¿öÏ£¬Ó¦¸ÃÑ¡ÔñÒ»¸ö¾¡¿ÉÄÜ¶àµØÈÝÄɲ¢·¢Ð޸ĸñíµÄÏ̵߳ÄÖµ¡£Ê¹ÓÃÒ»¸ö±ÈËùÐèÒªµÄÖµ¸ßºÜ¶àµÄÖµ¿ÉÄÜ»áÀ˷ѿռäºÍʱ¼ä£¬¶øÊ¹ÓÃÒ»¸öÏÔÈ»µÍ
Ïà¹ØÎĵµ£º
Ï̵߳Ĵ´½¨ºÍÆô¶¯
JavaÓïÑÔÒѾÄÚÖÃÁ˶àÏß³ÌÖ§³Ö£¬ËùÓÐʵÏÖRunnable½Ó¿ÚµÄÀà¶¼¿É±»Æô¶¯Ò»¸öÐÂỊ̈߳¬ÐÂÏ̻߳áÖ´ÐиÃʵÀýµÄrun()·½·¨£¬µ±run()·½·¨Ö´ÐÐÍê±Ïºó£¬Ï߳̾ͽáÊøÁË¡£Ò»µ©Ò»¸öÏß³ÌÖ´ÐÐÍê±Ï£¬Õâ¸öʵÀý¾Í²»ÄÜÔÙÖØÐÂÆô¶¯£¬Ö»ÄÜÖØÐÂÉú³ÉÒ»¸öÐÂʵÀý£¬ÔÙÆô¶¯Ò»¸öÐÂÏ̡߳£
ThreadÀàÊÇʵÏÖÁËRunnable½Ó¿ÚµÄÒ»¸öʵÀý£¬Ëü´ú±í ......
JavaÉè¼ÆÄ£Ê½Ö®×ÛÊöƪ
http://tech.it168.com/a2009/0223/266/000000266380.shtml
×Ô´ÓJ2EE³öÏÖÒÔÀ´£¬¾Í´ó´ó¼ò»¯ÁËÔÚJavaÏÂµÄÆóÒµ¼¶¿ª·¢¡£µ«ÊÇËæ×ÅJ2EEÔ½À´Ô½ÆÕ±éµØ±»Ó¦Óõ½¸÷¸öÁìÓòÖУ¬¿ª·¢ÕßÃǽ¥½¥Òâʶµ½ÐèÒªÒ»ÖÖ·½·¨À´±ê×¼»¯Ó¦ÓóÌÐòµÄ¿ª·¢¹ý³Ì£¬ËûÃDzÉÓõķ½·¨ÊDZê×¼»¯Ó¦ÓóÌÐòµÄ½á¹¹²ã¡£Ôڽṹ²ãͨ³£·â×°ÁËһЩ¶ÀÁ¢Ó ......
×î½üдÔ˼۵Äϵͳ,дµÃºÃÀÛ°¡,²»¹ý²î²»¶à½Ó½üÍê³ÉÁË.µ«±àÂëµÄÎÊÌâÒ»Ö±¶¼ÊÇËÆ¶®·Ç¶®µÄ.
Ö»ºÃÒ»µãµãÈ¥ËÑË÷javaºÍhtmlµÄ±àÂëÎÊÌâ.ºÃ·³,µ½×îºó,ÎÊÌâÊǽâ¾öÁË,µ«²»ÊÇ×îÍêÕûµÄ´¦Àí·½·¨.Ï£ÍûÒÔºó¿ÉÒÔ´¦ÀíºÃ.
ÔÚÒ»¸östruts2µÄ·µ»ØÌáʾµÄ×Ö·û´®µ½Ò³ÃæÖÐ.ÎÊÌâ¾ÍÊdzöÔÚÕâ×Ö·û´®ÖÐÓÐÍøÒ³µÄ»»Ð ......
תÁíÒ»¸öÂÛ̳µÄÌû×Ó£º
ѸÀ×ÃæÊÔ»ØÀ´£¬ÓÃÁËÕûÕûÒ»ÏÂÎ磨²»ÖªµÀÔõô˵ÁË£¬ÆäÖеȴýʱ¼ä¶¼¿ì2СʱÁË£©£¬×Ô¼º¸Ð¾õ±ÊÊÔºÍÉÏ»ú»¹¿ÉÒÔ£¬µ«¼¼ÊõÃæÌ¸ÕâÒ»¹Ø´ðµÃ²»Ì«ºÃ£¬ÏÖÔÚÔٴθоõ»¥ÁªÍø¹«Ë¾ÓëÒ»°ãÈí¼þ¹«Ë¾µÄÇø±ðÁË£¬ÆäÖÐÒ»µã¾ÍÊÇ»¥ÁªÍøÓ¦ÓÃÔÚÐÔÄÜÉÏÒªÇóºÜ¸ß£¬Ì¸ÁËÒ»¸öСʱ´ó²¿·ÖÌâÄ¿¸Ð¾õ¶¼ÔÚ̸ÂÛÐÔÄÜÎÊÌ⣬×Ô¼ºÔÚ·½ÃæÒ»Ö±ÊÇÈõÏî ......
µÚÒ»ÕÂ ÒýÑÔ
(By wind5shy£ºhttp://blog.csdn.net/wind5shy)
µÚ¶þÕ ´´½¨ºÍÏú»Ù¶ÔÏó
(By wind5shy£ºhttp://blog.csdn.net/wind5shy)
µÚ1Ìõ£º¿¼ÂÇÓþ²Ì¬¹¤³§·½·¨´úÌæ¹¹Ô캯Êý
ºÃ´¦£º
¾²Ì¬¹¤³§·½·¨ÓÐÃû×Ö£¬±í´ï¸üÇå³þ¡£
²»Ðè´´½¨ÐµĶÔÏó¡£
¿ÉÒÔ·µ»ØÔ·µ»ØÀàÐ͵Ä×ÓÀàÐͶÔÏó¡£Ó¦Óãº1.·µ»ØÀàÐͶ¨ÒåΪ½ ......