java ZeroMQ 在recv等待时线程的停止问题

OneThin 发布于 2013/10/11 22:37
阅读 1K+
收藏 0

【Gopher China万字分享】华为云的Go语言云原生实战经验!>>>

就是当0mq的socket在recv如果没消息时会阻塞,这时去停止tomcat(当前应用是个在tomcat上的j2ee应用),tomcat会给警告意思就是阻塞在recv的线程停止失败,可能会导致内存泄漏,应该就是那几个线程不能正常退出造成的,按照官方的例子一般外面会有个循环,用Thread.currentThread().isInterrupted()来判断是否继续,但是好像停止应用时recv没有退出,也没有抛出线程interrupt的异常或其他任何异常,我单独写了一个小程序,起了一个线程在recv,调用这个线程的interrupt这个线程也不会退出,好像0mq不是用这个机制的,我想问难道在tomcat上停止就是这样了,不管这警告,还是有其他的方法完美退出。

加载中
返回顶部
顶部