Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Java×Ô¶¨Òå¶àÏ̷߳þÎñÆ÷

// multi.MultiServer.java
package multi;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
public class MultiServer {
private int port = 8000;
private int backlog = 42;
private ServerSocket server_socket;
private ThreadPool threadPool;
private final int POOL_SIZE = 7;

public MultiServer()throws IOException{
server_socket = new ServerSocket();
server_socket.setReuseAddress(true);
server_socket.bind(new InetSocketAddress(port),backlog);
int system_cpu_total = Runtime.getRuntime().availableProcessors();
threadPool = new ThreadPool(POOL_SIZE * system_cpu_total);
System.out.println("--- server started! ---");
}
public void service(){
while(true){
try{
Socket socket = server_socket.accept();
threadPool.execute(new WorkHandler(socket));
} catch(Exception e){
e.printStackTrace();
}
}
}
public static void main(String[] args)throws Exception {
MultiServer server = new MultiServer();
server.service();
}
}
// multi.ThreadPool.java
package multi;
import java.util.LinkedList;
public class ThreadPool extends ThreadGroup{
private static int threadPoolId;
private boolean isClosed = false;
private LinkedList<Runnable> workQueue;

public ThreadPool(int poolSize){
super("ThreadPool-" + (threadPoolId++));
setDaemon(true);
workQueue = new LinkedList<Runnable>();
for(int i=0;i<poolSize;i++){
new WorkThread(this,i).start(); // Æô¶¯¹¤×÷ÕßÏß³Ì
}
}

public synchronized void execute(Runnable task){
if(isClosed){
throw new IllegalStateException("The " + getName()
+ " has closed!");
}
if(task != null){
workQueue.add(task);
// Ò»´ÎÖ»ÓÐÒ»¸öÏß³ÌÈ¡ÈÎÎñ[getTask() ±» synchronized ÐÞÊÎ]
// ËùÓд˴¦Ã»ÓÐʹÓÃnotifyAll();


Ïà¹ØÎĵµ£º

java Ï̵߳÷ÓÃHttpClientµÄʵÁ¦

×¢Òâ,Óõ½ÁËÄÚ²¿Àà:
new Thread
   (
     new Runnable()
     {
      public void run()
      {
       try
    &n ......

java»ù´¡»Ø¹Ë ·â×°¼Ì³Ð¶à̬


ÃæÏò¶ÔÏó±à³ÌÓÐÈý¸öÌØÕ÷£¬¼´·â×°¡¢¼Ì³ÐºÍ¶à̬¡£
    ·â×°Òþ²ØÁËÀàµÄÄÚ²¿ÊµÏÖ»úÖÆ£¬´Ó¶ø¿ÉÒÔÔÚ²»Ó°ÏìʹÓÃÕßµÄǰÌáϸıäÀàµÄÄÚ²¿½á¹¹£¬Í¬Ê±±£»¤ÁËÊý¾Ý¡£
    ¼Ì³ÐÊÇΪÁËÖØÓø¸Àà´úÂ룬ͬʱΪʵÏÖ¶à̬ÐÔ×÷×¼±¸¡£ÄÇôʲôÊǶàÌ¬ÄØ£¿
    ·½·¨µÄÖØÐ´¡¢ÖØÔØÓë ......

ÍÆ¼ö¼¸¸öjavaÑ§Ï°ÍøÕ¾

ÍÆ¼ö¼¸¸öjavaÑ§Ï°ÍøÕ¾
Java´úÂë²éѯվµã S+\s4hh@k  
1. java2s http://www.java2s.com/ PeYmf1ox  
Õâ¸öÍøÕ¾·Ç³£ºÃ£¬·Ö³ÉÈý´óÀ࣬·Ö±ðÊÇExample¡¢Products¡¢ Articles£¬Ã¿¸ö´óÀàÏÂÓÖ·Ö±ðÉèÐí¶àСÀ࣬»¹ÓÐËÑË÷¹¦ÄÜ£¬ÕâÑù²éÕÒÆðÀ´·Ç³£·½±ã¡£¡£±ÈÈ磬Èç¹ûҪѧϰSWT/JFace£¬Ö»Òª°ÑExampleϵÄSWT JFace Eclipse ......

javaÓëc++Óï·¨Çø±ð

//1.JavaÖÐ×Ö·û´®²»ÄܶàÐÐÊéд¡£¶àÐÐÊéдÓÃÒýºÅ¸ô¶Ï£¬¼ÓºÅÏàÁ¬¡£  
  //2.JavaµÄ±êʶ·û¿ÉÒÔÓÃÃÀÔª·ûºÅ¿ªÍ·¡£  
  //3.JavaÖÐûÓÐÎÞ·ûºÅ±äÁ¿»òÎÞ·ûºÅ³£Á¿µÄ¸ÅÄî¡£ËùÓеıäÁ¿¶¼ÊÇÓзûºÅµÄ¡£  
  //4.JavaÖбäÁ¿µÄ×Ö³¤Êǹ̶¨µÄ¡£²»´æÔÚcharºÍwcharÖ®·Ö¡£  
  //5.JavaÖбäÁ¿Î ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ