摘要: 线程池 1、什么是线程池 线程池是指在初始化一个多线程应用程序过程中创建一个线程集合,然后在需要执行新的任务时重用这些线程而不是新建一个线程。线程池中线程的数量通常取决于可用内存数量和应用程序的需求。线程池中的每个线程都有被分配一个任务,一旦任务已经完成了,线程回到池子中并等待下一次分配任务。 2、 阅读全文
posted @ 2019-12-27 09:08 3LittleStones 阅读(230) 评论(0) 推荐(1) 编辑
摘要: ThreadLocal 1、什么是ThreadLocal ThreadLocal是保存线程本地化对象的容器,当运行于多线程环境的某个对象用ThreadLocal维护变量时,ThreadLocal为每个使用变量的线程分配一个独立的变量副本。所以每个线程都可以独立的改变自己的副本,而不会影响其他线程所对 阅读全文
posted @ 2019-12-26 09:21 3LittleStones 阅读(206) 评论(0) 推荐(0) 编辑
摘要: Java内存模型和线程的三大特性 多线程有三大特性:原子性、可见性、有序性 1、Java内存模型 Java内存模型(Java Memory Model ,JMM),决定一个线程对共享变量的写入时,能对另一个线程可见。从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主 阅读全文
posted @ 2019-12-25 15:13 3LittleStones 阅读(508) 评论(0) 推荐(1) 编辑
摘要: join()的用法和线程的优先级 1、join()的用法 作用就是让其他线程处于等待状态 先看一个需求:创建一个线程,子线程执行完毕后,主线程才能执行 2、设置线程的优先级 在Java线程中,通过一个 来控制优先级,范围为1 10,其中10最高,默认值为5。 注:设置了优先级,不代表每次都一定会被执 阅读全文
posted @ 2019-12-24 11:38 3LittleStones 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 守护线程 什么是守护线程 Java中有两种线程,一种是用户线程,一种是守护线程。 当进程不存在或主线程停止,守护线程也会自动停止。 "源码地址" 阅读全文
posted @ 2019-12-24 11:37 3LittleStones 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 停止线程 停止线程的思路 ①使用退出标志,使线程正常退出,也就是当 方法结束后线程终止。 ②使用 方法强行终止线程,这个方法已经被弃用了,所以这里不写。 ③使用 方法中断线程(只有线程在 和`sleep InterruptedException`异常,执行终止线程的逻辑,在运行中不会捕获) 调用 方 阅读全文
posted @ 2019-12-24 11:35 3LittleStones 阅读(163) 评论(0) 推荐(0) 编辑
摘要: Java多线程间通讯 多线程之间通讯,其实就是多个线程在操作同一个资源,但是操作的动作不同。 1、使用 和`notify()`方法在线程中通讯 需求:第一个线程写入(input)用户,另一个线程取读取(out)用户。实现写一个,读一个操作。 、`notify() notifyAll()`是三个定义在 阅读全文
posted @ 2019-12-24 11:32 3LittleStones 阅读(123) 评论(0) 推荐(0) 编辑
摘要: Java多线程间同步 1、什么是线程安全 通过一个案例了解线程安全 案例:需求现在有100张火车票,有两个窗口同时抢火车票,请使用多线程模拟抢票效果。 先来看一个线程不安全的例子 可以看到两个线程同时卖票的时候,会出现漏卖,多卖同一张票,还会出现超卖的问题,这就是线程不安全的问题。 当多个线程同时共 阅读全文
posted @ 2019-12-24 11:28 3LittleStones 阅读(452) 评论(0) 推荐(3) 编辑
摘要: Java多线程快速入门 1、线程和进程的区别 进程是所有线程的集合,每一个线程是进程的一条执行路径。 2、多线程的应用场景 多线程主要体现在提高程序的效率,比如迅雷多线程下载,多线程分批发送短信等。 3、多线程的创建方式 (1)继承Thread类,重写run()方法 (2)实现Runnable接口, 阅读全文
posted @ 2019-12-24 11:18 3LittleStones 阅读(140) 评论(0) 推荐(0) 编辑