Java后台如何一直运行一个后台
写了一个java桌面程序,流程是这样的:运行程序,出现前台界面,现在前台的摄像头每隔一段时间截取一张图片,这张图片需要交由后台处理,处理时间可能较长,由于后台还有其它东西...
写了一个java桌面程序,流程是这样的:运行程序,出现前台界面,现在前台的摄像头每隔一段时间截取一张图片,这张图片需要交由后台处理,处理时间可能较长,由于后台还有其它东西要处理,想给处理图片的类单独开一个线程,让处理图片的类在后台等待,有图片输入则处理。这该如何实现?
只知道要用到多线程,但不知道具体怎么做 展开
只知道要用到多线程,但不知道具体怎么做 展开
2个回答
展开全部
1,保证主线程阻塞,即在执行main方法里添加阻塞代码。
2,比如Java做服务器时,接收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的执行权。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询