Ö÷Ì⣺ʵսjava Concurrent
±àд¶àÏ̵߳ijÌÐòÒ»Ö±¶¼ÊÇÒ»¼þ±È½ÏÂé·³µÄÊÂÇ飬Ҫ¿¼ÂǺܶàÊÂÇ飬´¦Àí²»ºÃ»¹»á³öºÜ¶àÒâÏë²»µ½µÄÂé·³¡£¼ÓÉÏÏÖÔںܶ࿪·¢Õß½Ó´¥µ½µÄÏîÄ¿¶¼ÊÇ´ò×ÅÆóÒµ¼¶ÆìºÅµÄB/SÏîÄ¿£¬´ó¶àÊýÈ˶¼ºÜÉÙÉæ¼°¶àỊ̈߳¬ÕâÓÖΪ±¾ÎĵÄÖ÷½ÇÔö¼ÓÁËÒ»·ÝÉñÃØ¸Ð¡£
½²µ½Java¶àỊ̈߳¬´ó¶àÊýÈËÄÔº£ÖÐÌø³öÀ´µÄÊÇThread¡¢Runnable¡¢synchronized……ÕâЩÊÇ×î»ù±¾µÄ¶«Î÷£¬ËäÈ»ÒѾ×㹻ǿ
´ó£¬µ«ÏëÒªÓúû¹Õæ²»ÈÝÒס£´ÓJDK
1.5¿ªÊ¼£¬Ôö¼ÓÁËjava.util.concurrent°ü£¬ËüµÄÒýÈë´ó´ó¼ò»¯Á˶àÏ̳߳ÌÐòµÄ¿ª·¢£¨Òª¸ÐлһÏ´óÅ£Doug Lee£©¡£
java.util.concurrent°ü·Ö³ÉÁËÈý¸ö²¿·Ö£¬·Ö±ðÊÇjava.util.concurrent¡¢
java.util.concurrent.atomicºÍjava.util.concurrent.lock¡£ÄÚÈݺ¸ÇÁ˲¢·¢¼¯ºÏÀà¡¢Ï̳߳ػúÖÆ¡¢Í¬
²½»¥³â»úÖÆ¡¢Ḭ̈߳²È«µÄ±äÁ¿¸üй¤¾ßÀà¡¢ËøµÈµÈ³£Óù¤¾ß¡£
ΪÁ˱ãÓÚÀí½â£¬±¾ÎÄʹÓÃÒ»¸öÀý×ÓÀ´×ö˵Ã÷£¬½»´úÒ»ÏÂËüµÄ³¡¾°£º
¼ÙÉèÒª¶ÔÒ»Ì×10¸ö½Úµã×é³ÉµÄ»·¾³½øÐмì²é£¬Õâ¸ö»·¾³ÓÐÁ½¸öÈë¿Úµã£¬Í¨¹ý½Úµã¼äµÄÒÀÀµ¹ØÏµ¿ÉÒÔ±éÀúµ½Õû¸ö»·¾³¡£ÒÀÀµ¹ØÏµ¿ÉÒÔ¹¹³ÉÒ»ÕÅÓÐÏòͼ£¬¿ÉÄÜ´æÔÚ»·¡£ÎªÁËÌá¸ß¼ì²éµÄЧÂÊ£¬¿¼ÂÇʹÓöàÏ̡߳£
1¡¢Executors
ͨ¹ýÕâ¸öÀàÄܹ»»ñµÃ¶àÖÖÏ̳߳صÄʵÀý£¬ÀýÈç¿ÉÒÔµ÷ÓÃnewSingleThreadExecutor()»ñµÃµ¥Ï̵߳Ä
ExecutorService£¬µ÷ÓÃnewFixedThreadPool()»ñµÃ¹Ì¶¨´óСÏ̳߳صÄExecutorService¡£Äõ½
ExecutorService¿ÉÒÔ×öµÄÊÂÇé¾Í±È½Ï¶àÁË£¬×î¼òµ¥µÄÊÇÓÃËüÀ´Ö´ÐÐRunnable¶ÔÏó£¬Ò²¿ÉÒÔÖ´ÐÐһЩʵÏÖÁË
Callable<T>µÄ¶ÔÏó¡£ÓÃThreadµÄstart()·½·¨Ã»Óзµ»ØÖµ£¬Èç¹û¸ÃÏß³ÌÖ´Ðеķ½·¨Óзµ»ØÖµÄÇÓÃ
ExecutorService¾ÍÔٺò»¹ýÁË£¬¿ÉÒÔÑ¡Ôñsubmit()¡¢invokeAll()»òÕßinvokeAny()£¬¸ù¾Ý¾ßÌåÇé¿öÑ¡ÔñºÏÊʵķ½
·¨¼´¿É¡£
Java´úÂë
package
service;
import
java.util.ArrayList;
import
java.util.List;
import
java.util.concurrent.ExecutionException;
import
java.util.concurrent.ExecutorService;
import
java.util.concurrent.Executors;
import
java.util.concurrent.Future;
import
java.util.concurrent.TimeUnit;
/**
* Ï̳߳طþÎñÀà
*
* @author DigitalSonic
&n
Ïà¹ØÎĵµ£º
1. Òì³£»úÖÆ
Òì³£»úÖÆÊÇÖ¸µ±³ÌÐò³öÏÖ´íÎóºó£¬³ÌÐòÈçºÎ´¦Àí¡£¾ßÌåÀ´Ëµ£¬Òì³£»úÖÆÌṩÁ˳ÌÐòÍ˳öµÄ°²È«Í¨µÀ¡£µ±³öÏÖ´íÎóºó£¬³ÌÐòÖ´ÐеÄÁ÷³Ì·¢Éú¸Ä±ä£¬³ÌÐòµÄ¿ØÖÆÈ¨×ªÒƵ½Òì³£´¦ÀíÆ÷¡£
´«Í³µÄ´¦ÀíÒì³£µÄ°ì·¨ÊÇ£¬º¯Êý·µ»ØÒ»¸öÌØÊâµÄ½á¹ûÀ´±íʾ³öÏÖÒì³££¨Í ......
1¡¢Óï·¨£º±ØÐë±È½ÏÊìϤ£¬ÔÚд´úÂëµÄʱºòIDEµÄ±à¼Æ÷¶ÔijһÐб¨´íÓ¦¸ÃÄܹ»¸ù¾Ý±¨´íÐÅÏ¢ÖªµÀÊÇʲôÑùµÄÓï·¨´íÎó²¢ÇÒÖªµÀÈκÎÐÞÕý¡£
2¡¢ÃüÁ±ØÐëÊìϤJDK´øµÄһЩ³£ÓÃÃüÁî¼°Æä³£ÓÃÑ¡ÏÃüÁîÖÁÉÙÐèÒªÊìϤ£ºappletviewer¡¢ HtmlConverter¡¢jar¡¢ java¡¢javac¡¢javadoc¡¢javap¡¢javaw¡¢ ......
±¾ÎÄÀ´×Ô£ºhttp://www.javaeye.com/topic/130025 1 ¼ò½é<o:p></o:p> ¶ÔÏóÐòÁл¯(Serializable)ÊÇÖ¸½«¶ÔÏóת»»Îª×Ö½ÚÐòÁеĹý³Ì£¬¶ø·´ÐòÁл¯ÔòÊǸù¾Ý×Ö½ÚÐòÁлָ´¶ÔÏóµÄ¹ý³Ì¡£<o:p></o:p> ÐòÁл¯Ò»°ãÓÃÓÚÒÔϳ¡¾°£º<o:p></o:p> 1. ÓÀ¾ÃÐÔ±£´æ¶ÔÏ󣬱£´æ¶ÔÏóµÄ×Ö½ÚÐòÁе½±¾µ ......
ÎÊÌâÒ»£ºÈç±£¼ÓÔØJDBCÇý¶¯³ÌÐò£º
Õý³£ÎÒÃǼÓÔØÇý¶¯³ÌÐòÓÐÈý¸ö;¾¶£º
1.Class.forName(String)ÕâÏëµ±ÓÚclassLoaderÒ»¸öStringÖ¸¶¨µÄÀ࣬ÔÚ×°ÔØÊ±°Ñ¸ÃÇý¶¯³ÌÐòµÄ¾²Ì¬ÄÚÈݶ¼³õʼ»¯£¬ÆäʵÕâʱÇý¶¯³ÌÐòÀàµ÷ÓÃÁËDriverManager.registerDriver(driver)·½·¨¡£
2.ʹÓÃϵͳÊôÐÔ£ºSystem.getPro ......