⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 threadpool.java

📁 网络+多线程+输入输出流的结合运用
💻 JAVA
字号:
package socket;

import java.net.*;

public class ThreadPool {
  final int MAX_NUM=5;
  MyService[] ms=new MyService[MAX_NUM];


  public ThreadPool() {

     for(int i=0;i<MAX_NUM;i++){
        ms[i]=new MyService(this);
        ms[i].setStatus(MyService.STATUS_UNBUSY);
        ms[i].start();
     }

  }


  public synchronized MyService getService(Socket s){

   while(true){
    for(int i=0;i<MAX_NUM;i++){
        if(!ms[i].getStatus()){
           ms[i].setStatus(MyService.STATUS_BUSY);
           ms[i].setSocket(s);
           return ms[i];
        }
     }

     try{
        this.wait();
     }catch(Exception e){}
   }

  }

  public synchronized boolean releaseService(MyService m){
     this.notify();
     m.setStatus(MyService.STATUS_UNBUSY);
     return true;
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -