JavaÏß³ÌÐÂÌØÕ÷ Ï̳߳Ø
	
    
    
	SunÔÚJava5ÖУ¬¶ÔJavaÏ̵߳ÄÀà¿â×öÁË´óÁ¿µÄÀ©Õ¹£¬ÆäÖÐÏ̳߳ؾÍÊÇJava5µÄÐÂÌØÕ÷Ö®Ò»£¬³ýÁËÏ̳߳ØÖ®Í⣬»¹Óкܶà¶àÏß³ÌÏà¹ØµÄÄÚÈÝ£¬Îª¶àÏ̵߳ıà³Ì´øÀ´Á˼«´ó±ãÀû¡£ÎªÁ˱àд¸ßЧÎȶ¨¿É¿¿µÄ¶àÏ̳߳ÌÐò£¬Ï̲߳¿·ÖµÄÐÂÔöÄÚÈÝÏÔµÃÓÈÎªÖØÒª¡£
 
ÓйØJava5Ïß³ÌÐÂÌØÕ÷µÄÄÚÈÝÈ«²¿ÔÚjava.util.concurrentÏÂÃæ£¬ÀïÃæ°üº¬ÊýÄ¿ÖÚ¶àµÄ½Ó¿ÚºÍÀ࣬ÊìϤÕⲿ·ÖAPIÌØÕ÷ÊÇÒ»Ïî¼èÄѵÄѧϰ¹ý³Ì¡£Ä¿Ç°ÓйØÕâ·½ÃæµÄ×ÊÁϺÍÊé¼®¶¼ÉÙÖ®ÓÖÉÙ£¬´óËùÊô½éÉÜÏ̷߳½ÃæÊé¼®»¹Í£ÁôÔÚjava5֮ǰµÄ֪ʶ²ãÃæÉÏ¡£
 
µ±È»ÐÂÌØÕ÷¶Ô×ö¶àÏ̳߳ÌÐòûÓбØÐëµÄ¹ØÏµ£¬ÔÚjava5֮ǰͨÓÿÉÒÔд³öºÜÓÅÐãµÄ¶àÏ̳߳ÌÐò¡£Ö»ÊÇ´ú¼Û²»Ò»Ñù¶øÒÑ¡£
 
Ï̳߳صĻù±¾Ë¼Ï뻹ÊÇÒ»ÖÖ¶ÔÏ󳨵Ä˼Ï룬¿ª±ÙÒ»¿éÄÚ´æ¿Õ¼ä£¬ÀïÃæ´æ·ÅÁËÖڶࣨδËÀÍö£©µÄỊ̈߳¬³ØÖÐÏß³ÌÖ´Ðе÷¶ÈÓɳعÜÀíÆ÷À´´¦Àí¡£µ±ÓÐÏß³ÌÈÎÎñʱ£¬´Ó³ØÖÐȡһ¸ö£¬Ö´ÐÐÍê³ÉºóÏ̶߳ÔÏó¹é³Ø£¬ÕâÑù¿ÉÒÔ±ÜÃâ·´¸´´´½¨Ï̶߳ÔÏóËù´øÀ´µÄÐÔÄÜ¿ªÏú£¬½ÚÊ¡ÁËϵͳµÄ×ÊÔ´¡£
 
ÔÚJava5֮ǰ£¬ÒªÊµÏÖÒ»¸öÏ̳߳ØÊÇÏ൱ÓÐÄѶȵģ¬ÏÖÔÚJava5ΪÎÒÃÇ×öºÃÁËÒ»ÇУ¬ÎÒÃÇÖ»ÐèÒª°´ÕÕÌṩµÄAPIÀ´Ê¹Ó㬼´¿ÉÏíÊÜÏ̳߳شøÀ´µÄ¼«´ó±ãÀû¡£
 
Java5µÄÏ̳߳طֺöàÖÖ£º¹Ì¶¨³ß´çµÄÏ̳߳ء¢¿É±ä³ß´çÁ¬½Ó³Ø¡¢¡£
 
ÔÚʹÓÃÏ̳߳ØÖ®Ç°£¬±ØÐëÖªµÀÈçºÎÈ¥´´½¨Ò»¸öÏ̳߳أ¬ÔÚJava5ÖУ¬ÐèÒªÁ˽âµÄÊÇjava.util.concurrent.ExecutorsÀàµÄAPI£¬Õâ¸öÀàÌṩ´óÁ¿´´½¨Á¬½Ó³ØµÄ¾²Ì¬·½·¨£¬ÊDZØÐëÕÆÎյġ£
 
Ò»¡¢¹Ì¶¨´óСµÄÏ̳߳Ø
 
import java.util.concurrent.Executors; 
import java.util.concurrent.ExecutorService; 
/** 
* JavaỊ̈߳ºÏ̳߳Ø- 
* 
* @author Administrator 2009-11-4 23:30:44 
*/ 
public class Test { 
public static void main(String[] args) { 
//´´½¨Ò»¸ö¿ÉÖØÓù̶¨Ïß³ÌÊýµÄÏß³Ì³Ø 
ExecutorService pool = Executors.newFixedThreadPool(2); 
//´´½¨ÊµÏÖÁËRunnable½Ó¿Ú¶ÔÏó£¬Thread¶ÔÏóµ±È»Ò²ÊµÏÖÁËRunnable½Ó¿Ú 
Thread t1 = new MyThread(); 
Thread t2 = new MyThread(); 
Thread t3 = new MyThread(); 
Thread t4 = new MyThread(); 
Thread t5 = new MyThread(); 
//½«Ï̷߳ÅÈë³ØÖнøÐÐÖ´ÐÐ 
pool.execute(t1); 
pool.execute(t2); 
pool.execute(t3); 
pool.execute(t4); 
pool.execute(t5); 
//¹Ø±ÕÏß³Ì³Ø 
pool.shutdown(); 
} 
} 
class MyThread extends Thread{ 
@Override 
public void 
    
     
	
	
    
    
	Ïà¹ØÎĵµ£º
        
    
     Javaѧϰ´ÓÈëÃŵ½¾«Í¨ 
Ò»¡¢ JDK (Java Development Kit) 
JDKÊÇÕû¸öJavaµÄºËÐÄ£¬°üÀ¨ÁËJavaÔËÐл·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJava¹¤¾ßºÍJava»ù´¡µÄÀà¿â(rt.jar)¡£²»ÂÛʲôJavaÓ¦Ó÷þÎñÆ÷ʵÖʶ¼ÊÇÄÚÖÃÁËij¸ö°æ±¾µÄJDK¡£Òò´ËÕÆÎÕJDKÊÇѧºÃJavaµÄµÚÒ»²½¡£×îÖ÷Á÷µÄJ ......
	
    
        
    
    JDKΪ³ÌÐòÔ±ÌṩÁË´óÁ¿µÄÀà¿â£¬¶øÎªÁ˱£³ÖÀà¿âµÄ¿ÉÖØÓÃÐÔ£¬¿ÉÀ©Õ¹ÐÔºÍÁé»îÐÔ£¬ÆäÖÐʹÓõ½ÁË´óÁ¿µÄÉè¼ÆÄ£Ê½£¬±¾ÎĽ«½éÉÜJDKµÄI/O°üÖÐʹÓõ½µÄDecoratorģʽ£¬²¢ÔËÓôËģʽ£¬ÊµÏÖÒ»¸öеÄÊä³öÁ÷Àà¡£ 
¡¡¡¡Decoratorģʽ¼ò½é 
¡¡¡¡DecoratorģʽÓÖÃû°ü×°Æ÷(Wrapper)£¬ËüµÄÖ÷ÒªÓÃ;ÔÚÓÚ¸øÒ»¸ö¶ÔÏó¶¯Ì¬µÄÌí¼ÓһЩ¶îÍâµÄÖ°Ôð¡£Ó ......
	
    
        
    
    Õª×Ô£ºÇ§Àï±ù·â
/*
 * CaptureScreen.java
 *
 * Created on 2007Äê8ÔÂ30ÈÕ, ÏÂÎç12:46
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */
package hadeslee.swing;
/**
 *
 * @author lbf
 * ......
	
    
        
    
    package test
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.LineNumberReader;
public class ReadSelectedLine{
    // ¶ÁÈ¡ÎļþÖ¸¶¨ÐС£
    static void readAppointedLineNumber(File sourceFile, int lineNumber)
            throws IOException {
         ......