美文网首页线程池
线程加监听功能 【意外退出线程后自动重启】

线程加监听功能 【意外退出线程后自动重启】

作者: Helloword_Cc | 来源:发表于2019-03-26 18:32 被阅读62次

Java线程监听,意外退出线程后自动重启

业务需求:因为作者的业务需要线程一直循环监听某个端口发过来的数据并进行分析处理。然而发现循环某次线程出现未知错误会导致整个监听线程自动终止。所以需要线程某次出现错误中止时可以监听到,并且重新启动监听数据的线程。让监听业务不会断开。下面介绍如何实现:

首先添加一个Listener类,为监听类。

然后重写监听类的update方法,其实这个方法就是在线程出现未知异常,线程被迫终止的时候调用,因为作者想当线程出现未知错误终止的时候,程序自动重新启动,所以就在update的方法继续启动这个线程。

好了,到这里监听类就写完了。接下来就是线程类。线程类除了常规实现Runnable,还需要继承Observable


n

线程类除了继承的改动,第一步:需要添加一个doBusiness方法,

第二步:则是在run方法进行try catch,catch的时候执行doBusiness方法,进行监听并调用重启线程操作


(还有一个问题:在catch的时候必须break进行跳出循环)

好了,到了最后一个步骤了。就是改动

main类主线程


第三步:需要将监听的线程通过addObserver方法加入执行线程里,再启动执行线程


好了,线程加监听功能完成。


2019-03-26

相关文章

  • 线程加监听功能 【意外退出线程后自动重启】

    Java线程监听,意外退出线程后自动重启 业务需求:因为作者的业务需要线程一直循环监听某个端口发过来的数据并进行分...

  • 终止线程方式

    正常运行结束 程序运行结束,线程自动结束。 使用退出的标志退出线程 一般 run()方法执行完,线程就会正常结束,...

  • iOS NSNotificationCenter通知中心之多线程

    1、主线程监听,子线程发通知 在主线程监听,子线程发通知,会在子线程接收到通知。 2、子线程监听,子线程发通知 子...

  • 线程的创建销毁与退出,线程属性,互斥锁,读写锁

    一、线程的创建与退出 1.1 线程的创建 主线程 子线程 1.2 线程的退出 线程的退出可以使用return的方式...

  • 三:线程中断

    线程中断并不会让线程立即退出,而是给线程发送一个通知,告诉目标线程,现在希望他退出,至于线程接到通知后如何处理,完...

  • 多线程(三)

    线程终止 1.run方法正常退出,线程自然终止2.因为一个没有捕获的异常终止了run方法,线程意外终止 线程中断 ...

  • 基于RunLoop进行线程保活的简单分析

    线程与RunLoop 线程一般一次只能执行一个任务,执行完成后线程就会退出;如果需要一个执行任务后不退出的永驻线程...

  • NSRunLoop

    目的: 保证线程不退出 负责监听事件:触摸、时钟、网络 NSRunLoop模式: NSDefaultRunLoop...

  • RunLoop

    - 保证线程不退出- 负责监听事件!iOS触摸,时钟,网络每条线程都有一个runloop,但是默认都是不开启的状态...

  • RunLoop学习笔记

    在一般情况下,一个线程在执行完了一个任务后就会自动退出。我们想要有这样一个机制,让线程随时可以处理事件但是不退出。...

网友评论

    本文标题:线程加监听功能 【意外退出线程后自动重启】

    本文链接:https://www.haomeiwen.com/subject/yvpnvqtx.html