Java ²¢·¢Ñ§Ï°
Ò»¡¢´´½¨ÈÎÎñ
ÈÎÎñ¿ÉÒÔÀí½âΪһ¶Î¶ÀÁ¢Ö´ÐеĴúÂ룬ËüÍê³ÉÒ»¶¨µÄ¹¦ÄÜ¡£
ÔÚJava 5¼°ÒÔÉϰ汾Öв»½ö¿ÉÒÔÀûÓà Runnable½Ó¿Ú£¬»¹¿ÉÒÔÀûÓÃCallable½Ó¿Ú¡£
Á½ÖÖÈÎÎñµÄÇø±ð£ºRunnable µÄrun()·½·¨Íê³ÉµÄÈÎÎñÊÇûÓзµ»ØÖµµÄ - void
¶øCallable µÄcall()·½·¨Íê³ÉµÄÈÎÎñÊÇÓзµ»ØÖµµÄ - ·µ»ØÖµ ÓнӿڵķºÐÍ<V> À´Öƶ¨
¶þ¡¢Ö´ÐÐÈÎÎñ
ͨ¹ýjava.util.concurrent.ExecutorService½Ó¿Ú¶ÔÏóÀ´Ö´ÐÐÈÎÎñ£¬
Õâ¸ö½Ó¿Ú¶ÔÏóÓɹ¤¾ßÀàjava.util.concurrent.ExecutorsµÄ¾²Ì¬·½·¨À´´´½¨¡£
Ïà¹ØÀ༰½Ó¿Ú˵Ã÷£º
Executors Ìṩ½¨Á¢Ï̳߳ػòÏ̹߳¤³§µÄ·½·¨.
ExecutorService ÌṩÁ˹ÜÀíÖÕÖ¹µÄ·½·¨£¬ÒÔ¼°¿ÉΪ¸ú×ÙÒ»¸ö»ò¶à¸öÒì²½ÈÎÎñÖ´ÐÐ×´¿ö¶øÉú³É Future µÄ·½·¨¡£
Executor ¿ÉÒÔ¼òµ¥Àí½âΪһ¸öÏ̵߳ÄÖ´ÐÐÕߣ¬ÊÇExecutors µÄÉÏÒ»¼¶½Ó¿Ú¡£
Callable Ïß³ÌÒªÖ´ÐжøÈ¥ÊµÏֵĽӿÚ
Future ±íʾÒì²½¼ÆËãµÄ½á¹û,¶ÔÖ´ÐеÄÏ̵߳Ä״̬¼ì²é,¿ÉÒÔ»ñµÃÖ´Ðнá¹û.
ÏÂÃæÒÔÒ»¸öÀý×ÓÀ´ËµÃ÷£º
public class CallableDemo {
public static void main(String[] args) {
/**
* Executors.newFixedThreadPool(5)´´½¨Ò»¸öÏ̳߳أ¬
* Õâ¸öÏ̳߳ØÖÐά»¤ 5 ¸öÏ̵߳ÄÖ´ÐÐÓëÏú»Ù¹¤×÷£¬²¢½«Î¬»¤µÄ¹¤×÷½»¸ø ExecutorService È¥´¦Àí
*/
ExecutorService service = Executors.newFixedThreadPool(5);
// ExecutorService service = Executors.newCachedThreadPool();
/**
* ¼Ç¼Ïß³ÌµÄ ÈÎÎñ£¨ÕâÀïÓÉʵÏÖÁËCallable½Ó¿Ú µÄÀàÀ´Ö´ÐУ©µÄ·µ»Ø½Ó¿Ú
*/
List<Future<String>> resultList = new ArrayList<Future<String>>();
/**
* ´´½¨ 10¸öÈÎÎñ
*/
for (int i = 0; i < 10; i++) {
/**
* ExecutorService µÄ submit·½·¨ À´Î¬»¤ÈÎÎñ(Õâ¸öÈÎÎñ²»ÊÇỊ̈߳¬ÊÇCallable£¬µ«ÊǺÍÏ̵߳Ť×÷ÔÀíÊÇÒ»ÑùµÄ)µÄÔËÐÐ״̬
*/
Future<String> future = service.submit(new
Ïà¹ØÎĵµ£º
×÷ΪJava³ÌÐòÔ±À´Ëµ£¬×îÍ´¿àµÄÊÂÇéιýÓÚ¿ÉÒÔÑ¡ÔñµÄ·¶Î§Ì«¹ã£¬¿ÉÒÔ¶ÁµÄÊéÌ«¶à£¬ÍùÍùÈÝÒ×ÎÞËùÊÊ´Ó¡£ÎÒÏë¾ÍÎÒ×Ô¼º¶Á¹ýµÄ¼¼ÊõÊé¼®ÖÐÌôÑ¡³öÀ´Ò»Ð©£¬°´ÕÕѧϰµÄÏȺó˳Ðò£¬ÍƼö¸ø´ó¼Ò£¬ÌرðÊÇÄÇЩÏë²»¶ÏÌá¸ß×Ô¼º¼¼ÊõˮƽµÄJava³ÌÐòÔ±ÃÇ¡£
Ò»¡¢Java±à³ÌÈëÃÅÀà
¶ÔÓÚûÓÐJava±à³Ì¾ÑéµÄ³ÌÐòÔ±ÒªÈëÃÅ£¬Ëæ±ã¶ÁʲôÈëÃÅÊé¼®¶¼Ò»Ñù£¬Õâ ......
Ç°ÃæÒѾ·ÖÎöÁËjavaÃüÁî¼ÓÔØjavaÐéÄâ»úµÄ·½·¨£¬¼´Í¨¹ýJNIºÍÐéÄâ»ú½»»¥¡£Òò´ËÎÒÃÇ¿ÉÒÔºÜÈÝÒ×µÄ×Ô¼ºÐ´ÏàÓ¦µÄÆô¶¯´úÂ룬ʵÏÖÔÚC++³ÌÐòÖÐÖ´ÐÐjava³ÌÐò£¬µ÷ÓÃjavaÀàµÄ·½·¨¡£
Òª²âÊÔµÄJavaÀà(Test.java)µÄ´úÂëÊÇ£º
public class Test {
public Test( ......
´ò¿ªÖÕ¶Ë£¬Ö´ÐÐÒÔÏÂÃüÁ»òʹÓÃAdept/ÐÂÁ¢µÃÈí¼þ¹ÜÀíÆ÷£¬ÔÚÆäÖзֱðËÑË÷"sun-java6-jre"ºÍ"sun-java6-jdk"²¢±ê¼Ç°²×°¡£
sudo apt-get install sun-java6-jre
Èç¹û¿Õ¼ä¸»Ô££¬½¨Òé°²×°Ò»¸öJDK¡£
sudo apt-get install sun-java6-jdk
Ìáʾ£º°²×°¹ý³ÌÖÐÐèÒªÄã»Ø´ðÊÇ·ñͬÒâʹÓÃÐÒ飨ÖÕ¶ËÖкìÀ¶É«µÄÌ ......
Java·Ö³ÉJ2ME£¨Òƶ¯Ó¦Óÿª·¢£©£¬J2SE£¨×ÀÃæÓ¦Óÿª·¢£©£¬J2EE(WebÆóÒµ¼¶Ó¦ÓÃ)£¬ËùÒÔJava²¢²»Êǵ¥»ú°æµÄ£¬Ö»ÊÇÃæÏò¶ÔÏóÓïÑÔ¡£½¨ÒéÈç¹ûѧϰJavaÌåϵµÄ»°¿ÉÒÔÕâÑùȥѧϰ£º
*µÚÒ»½×¶Î£ºJava»ù´¡£¬°üÀ¨JavaÓï·¨£¬ÃæÏò¶ÔÏóÌØÕ÷£¬³£¼ûAPI£¬¼¯ºÏ¿ò¼Ü£»
*µÚ¶þ½×¶Î£ºJava½çÃæ±à³Ì£¬°üÀ¨AWT£¬Ê¼þ»úÖÆ£¬SWING£¬Õâ¸ö²¿ ......