Java后台如何一直运行一个后台

写了一个java桌面程序,流程是这样的:运行程序,出现前台界面,现在前台的摄像头每隔一段时间截取一张图片,这张图片需要交由后台处理,处理时间可能较长,由于后台还有其它东西... 写了一个java桌面程序,流程是这样的:运行程序,出现前台界面,现在前台的摄像头每隔一段时间截取一张图片,这张图片需要交由后台处理,处理时间可能较长,由于后台还有其它东西要处理,想给处理图片的类单独开一个线程,让处理图片的类在后台等待,有图片输入则处理。这该如何实现?
只知道要用到多线程,但不知道具体怎么做
展开
 我来答
千古人文
推荐于2017-12-15 · TA获得超过388个赞
知道小有建树答主
回答量:233
采纳率:93%
帮助的人:88万
展开全部

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的执行权。

tonylinzhen
2016-04-22 · TA获得超过1368个赞
知道小有建树答主
回答量:997
采纳率:50%
帮助的人:396万
展开全部
用while(true) 将你的业务服务写在循环体内,使用Thread.sleep 来处理业务空闲避免cpu浪费,一直运行到接受一个结束状态break 就退出了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式