java在web工程开发中如何实现多线程定时进行一项操作?
比如有很多房间(房间属性:id,name,status)如何对多个房间分别添加定时器,从将status设为1的时间开始30秒后吧status改为0...
比如有很多房间(房间属性:id,name,status)如何对多个房间分别添加定时器,从将status设为1的时间开始30秒后吧status改为0
展开
1个回答
展开全部
给你写个大概思路吧
//创建处理房间状态的线程类,去执行改status的操作,操作在run方法里写好
class ChangeRoomStatusProcess extends Thread {...}
//主线程创建线程池,数量自定,当前为5
ScheduledExecutorService ses = Executors.newScheduledThreadPool(5);
...
ses.shutdown();
//当某个线程将status设置为1以后,设置定时器,30秒后执行ChangeRoomStatusProcess的run方法
ses.schedule(new ChangeRoomStatusProcess(), 30000, TimeUnit.MILLISECONDS);
//创建处理房间状态的线程类,去执行改status的操作,操作在run方法里写好
class ChangeRoomStatusProcess extends Thread {...}
//主线程创建线程池,数量自定,当前为5
ScheduledExecutorService ses = Executors.newScheduledThreadPool(5);
...
ses.shutdown();
//当某个线程将status设置为1以后,设置定时器,30秒后执行ChangeRoomStatusProcess的run方法
ses.schedule(new ChangeRoomStatusProcess(), 30000, TimeUnit.MILLISECONDS);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |