您的位置:

java通知,Java通知安卓

本文目录一览:

java中怎样得到线程结束的通知

runnable 现成结束不通知,但是 run方法运行到最后一行就算结束了。

Callable 也可是实现通知。

MyCallable task2 = new MyCallable(1);

MyCallable task3 = new MyCallable(2);

MyCallable task1 = new MyCallable(0);

// 创建一个执行任务的服务

ExecutorService es = Executors.newFixedThreadPool(3);

// 提交并执行任务,任务启动时返回了一个Future对象,

// 如果想得到任务执行的结果或者是异常可对这个Future对象进行操作

Future future1 = es.submit(task1);

// 获得第一个任务的结果,如果调用get方法,当前线程会等待任务执行完毕后才往下执行

System.out.println("task1: " + future1.get());

Future future2 = es.submit(task2);

// 等待5秒后,再停止第二个任务。因为第二个任务进行的是无限循环

Thread.sleep(5000);

System.out.println("task2 cancel: " + future2.cancel(true));

// 获取第三个任务的输出,因为执行第三个任务会引起异常

// 所以下面的语句将引起异常的抛出

Future future3 = es.submit(task3);

System.out.println("task3: " + future3.get());

java通知服务器,按照一定规律间隔时间向某端口发通知

提供给你一个思路,可能不是最优解决方案。使用quartz,设置时间段,比如早上7:00-12:00每2min执行一次,建立一个任务详情表(或者在你的业务表中扩展一个字段也可以),包含字段:日期,通知阶段。任务执行逻辑:

查询当天是否有任务执行记录,如果没有则插入,表示当天第一次执行。如果有,则查询当前的执行阶段是多少,比如是2min,10min等等。。然后把当前系统时间与执行阶段做比较,如果没有到达下一个应该执行任务的阶段就直接return,不执行。

-------------------另外quartz可以设置线程是否单例,如果上一个线程正在执行任务,那么等上一个线程关闭才会执行下一个任务。这样就不会new很多线程出来了。 具体的可以参见quartz手册

java 如何实现系统消息推送

消息推送方式分为两种:短连接和长连接。也就是客户端与服务器之间的数据传输交互方式不同。

1、短连接又称为轮询,方式为pull。客户端定时向服务器发送请求,询问是否有数据,时间频次可以设置。这种的方式更适合web端使用,用在APP有很多弊端。

2、长连接方式为push,服务器主动向客户端发送数据。市面上移动端产品基本采用这种方式,但是ios和android系统有很大的区别。不论手机上安装了多少个APP,也只有一条长连接,消息最终由苹果服务器进行内置分发。即使用户关闭了APP,依然可以收到消息推送。

实现系统消息推送,就需要比较好的第三方软件就行辅助,极光就是一个不错的选择。极光JPush 是经过考验的大规模 App 推送平台,每天推送消息量级为数百亿条。JPush 提供可视化的 web 端控制台发送通知,统计分析推送效果。 JPush 全面支持 Android, iOS, Winphone 三大手机平台。

java消息通知怎么做

java消息通知有两种方案:

1.如果是平台级别的系统,可使用第三方消息推送服务,例如极光,用这个来做消息订阅与分发。

2.如果只是简简单单的需要提示到web页面,可以用js 定时ajax访问后台,后台来确定是否有数据更新,无论这个数据是哪来的。

消息通知可以了解一下极光推送