展开全部
1,保证主线程阻塞,即在执行main方法里添加阻塞代码。
2,比如32313133353236313431303231363533e58685e5aeb931333339666635Java做服务器时,接收soket信息,ServerSocket serverSocket =newServerSocket(10086);//1024-65535的某个端口
//2、调用accept()方法开始监听,等待客户端的连接
while(true){}
Socket socket = serverSocket.accept();
//3、获取输入流,并读取客户端信息
InputStream is = socket.getInputStream();
InputStreamReader isr =newInputStreamReader(is);
BufferedReader br =newBufferedReader(isr);
String info =null;
while((info=br.readLine())!=null){
System.out.println("我是服务器,客户端说:"+info);
}
}
3,添加阻塞代码:Semaphore semaphore = new Semaphore(0);
try {
semaphore.acquire();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
这段代码是不占cpu的。它会让出cpu的执行权。