thread
thread相关部分代码学习
你就像甜甜的益达
世界上所有的不公平都是由于当事人能力不足造成的!
展开
-
线程安全问题例子
面试题总是会问写一个线程安全问题的例子,最简单的就是多线程操作同一个成员变量,而且方法没有加锁;如下: 解决方法可以是写一个safeMethod方法,然后直接使用synchronized 关键字, 也可以使用AtomicInteger ,直接使用incrementAndGet方法.基于cas操作的进行增加也是线程安全的 import java.util.concurrent.CompletableFuture; import java.util.concurrent.CountDownLatch;原创 2020-06-08 11:13:44 · 627 阅读 · 0 评论 -
int i++和++i是线程安全的吗?
public class ThreadUnSafeDemo { // private AtomicInteger value = new AtomicInteger(1); private static int value = 1; // private static volatile int value = 1; public static void main(Strin...原创 2020-04-23 11:01:34 · 955 阅读 · 0 评论 -
setDaemon详解
一、线程 JAVA线程分为即实线程与守护线程,守护线程是优先级低,存活与否不影响JVM的退出的线程,实现守护线程的方法是在线程start()之前setDaemon(true),否则会抛出一个IllegalThreadStateException异常。不能操作文件、数据库等资源,避免主线程关闭而未能关闭守护线程的资源,并且它会在任何时候甚至在一个操作的中间发生中断。 二、优点及使用场景 在主线程关闭...转载 2019-04-06 15:07:12 · 23153 阅读 · 0 评论 -
线程池的种类
文章目录说在前面的话newFixedThreadPoolnewWorkStealingPoolnewSingleThreadExecutornewCachedThreadPoolnewScheduledThreadPool 说在前面的话 一般创建简单的线程池都是通过Executors这个类的静态方法创建的,但是可能大公司要求根据ThreadPoolExecutor 去创建线程池:因为使用Threa...原创 2019-06-30 17:54:58 · 1492 阅读 · 0 评论