原文:Java关闭线程的安全方法

Java之前有一个api方法可以直接关闭线程,stop ,由于这个方法是强制性地关闭线程,有的时候会发生错误,之后就取消了,现在可用的方法主要有两种: 在线程中加入一个成员变量,当一个flag使用。在线程run 方法中轮流去检查这个变量,变量变化时就退出这个线程。代码示例如下: public class StopThread extends Thread private boolean run t ...

2014-10-07 17:29 0 22611 推荐指数:

查看详情

Java中怎样创建线程安全方法

面试问题: 下面的方法是否线程安全?怎样让它成为线程安全方法? 本篇文章将解释一个常见的面试题,该问题被谷歌和很多其它公司问起过。它涉及的相对比较初级,而不是关于怎样去设计复杂的并发程序。 首先,这个问题的答案是No,因为counter++操作不是一个原子操作,而是由多个 ...

Mon May 23 07:17:00 CST 2016 0 1763
线程安全关闭方式

对于一些定时任务或者网络请求服务将会使用线程池,当应用停机时需要正确安全关闭线程池,如果处理不当,可能造成数据丢失,业务请求结果不正确等问题。 关闭线程池我们可以选择什么都不做,JVM 关闭时自然的会清除线程池对象。当然这么做,存在很大的弊端,线程池中正在执行执行的线程以及队列中还未执行任务 ...

Sun Dec 29 22:48:00 CST 2019 0 3580
如何优雅的关闭java线程

转载Fromjava 优雅的终止线程 Java中原来在Thread中提供了stop()方法来终止线程,但这个方法是不安全的,所以一般不建议使用。《Java线程模式》中有一种叫Two-Phase Termination(两步终止)的模式可以优雅的终止线程。 首先在线程中设置一个标志位 ...

Sat Jun 07 20:15:00 CST 2014 0 7426
Java线程池的正确关闭方法,awaitTermination还不够

问题说明 今天发现了一个问题,颠覆了我之前对关闭线程池的认识。 一直以来,我坚信用shutdown + awaitTermination关闭线程池是最标准的方式。 不过,这次遇到的问题是,子线程用到BufferedReader,而BufferedReader 的readLine是阻塞 ...

Mon Sep 30 03:34:00 CST 2019 0 3909
线程安全的实现方法

线程安全的实现方法 什么是线程安全线程安全:《JVM的高性能与最佳实践》有说,“多个线程访问同一个对象,如果我们不用考虑线程运行时的调度和交替执行,不用做额外的同步,或者在调用时候不用进行协调操作,调用的结果总是正确的结果,那么这个对象是线程安全的” 线程安全的对象具有以下特征:对象 ...

Thu Jun 04 00:02:00 CST 2020 0 653
Java线程-线程安全

1. 数据不共享的情况 在探讨数据共享的话题前,先来看看数据不共享的情况,每一个线程里面的数据都是独立的,就像下面的例子,3个线程,每一个线程自己对自己的数据进行扣减,直到0为止 运行结果: 2. 数据共享的情况 这里有一段测试代码,看看共享数据的结构,按照理 ...

Sat Jan 05 00:26:00 CST 2019 3 447
JAVA中的线程安全与非线程安全

转自http://blog.csdn.net/xiao__gui/article/details/8934832 线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 线程 ...

Thu Apr 05 22:04:00 CST 2018 4 46074
Java线程安全和非线程安全

ArrayList和Vector有什么区别?HashMap和HashTable有什么区别?StringBuilder和StringBuffer有什么区别?这些都是Java面试中常见的基础问题。面对这样的问题,回答是:ArrayList是非线程安全的,Vector是线程安全的;HashMap是非线程 ...

Thu Nov 13 04:37:00 CST 2014 0 6832
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM