![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 90
天空鸟_时光不老
这个作者很懒,什么都没留下…
展开
-
第1章 多线程基础
进程可以看成是线程的容器,而线程又可以看成是进程中的执行路径。原创 2023-03-08 10:39:56 · 365 阅读 · 0 评论 -
1.6 线程池原理与实战
还有一个与shutdown()类似的方法,叫作shutdownNow(),执行shutdownNow()方法后,线程池状态会立刻变成STOP,并试图停止所有正在执行的线程,并且不再处理还在阻塞队列中等待的任务,会返回那些未执行的任务。ArrayBlockingQueue在创建时必须设置大小,接收的任务超出corePoolSize数量时,任务被缓存到该阻塞队列中,任务缓存的数量只能为创建时设置的大小,若该阻塞队列已满,则会为新的任务创建线程,直到线程池中的线程总数大于maximumPoolSize。...原创 2022-08-04 14:40:09 · 490 阅读 · 0 评论 -
1.4 线程的核心原理
接下来,对线程的6种状态以及各种状态的进入条件做一个总结。1.NEW状态通过newThread(…)已经创建线程,但尚未调用start()启动线程,该线程处于NEW(新建)状态。虽然前面介绍了4种方式创建线程,但是其中的其他三种方式本质上都是通过newThread()创建线程,仅仅是创建了不同的target执行目标实例(如Runnable实例)。2.RUNNABLE状态Java把Ready(就绪)和Running(执行)两种状态合并为一种状态RUNNABLE(可执行)状态(或者可运行状态)。...原创 2022-08-02 16:30:15 · 890 阅读 · 0 评论 -
1.2 无处不在的进程和线程
前面的示例中,所创建的Thread实例在执行完成之后都销毁了,这些线程实例都是不可复用的。在代码①处,通过Lambda表达式直接编写Runnable接口的run()方法的实现代码,接口的名称(Runnable)、方法的名称run()统统都被省略,仅剩下了run()方法的形参列表和方法体。后面介绍线程池的时候会讲到,异步执行任务在大多数情况下是通过线程池去提交的,而很少通过创建一个新的线程去提交,所以更多的做法是,通过实现Runnable接口创建异步执行任务,而不是继承Thread去创建异步执行任务。...原创 2022-08-01 13:20:29 · 351 阅读 · 0 评论 -
disruptor笔记3-多生产者和多消费者操作
disruptor 多生产者和多消费者单个消费者消费时,有几个消费者就需要启动几个线程,如果消费者过多,会使服务器存在党内存溢出甚至宕机的危险。但是多消费者模式,并不会存在这样的危险,多消费者使用的是线程池管理消费者线程。测试类package com.tkn.disruptor.heigh.multi;import com.lmax.disruptor.*;import com....原创 2019-01-15 14:30:35 · 1378 阅读 · 3 评论 -
多线程快速入门
线程与进程区别每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。 使用线程可以把占据时间长的程序中的任务放到后台去处理,程序的运行速度可能加快,在一些等待的任务实现上如用户输入、文原创 2018-01-08 20:10:01 · 165 阅读 · 0 评论 -
线程安全
线程安全什么是线程安全?为什么有线程安全问题?当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。线程安全解决办法:问:如何解决多线程之间线程安全问题?答:使用多线程之间同步synchronized或使用锁(lock)。问:为什么使用线程同步或使用锁能解决线程安全原创 2018-01-14 16:44:51 · 291 阅读 · 0 评论 -
java并发包&线程池原理分析&锁的深度化
java并发包&线程池原理分析&锁的深度化并发包同步容器类Vector与ArrayList区别 1. ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要讲已经有数组的数据复制到新的存储空间中。当从ArrayList的中间位置插入或者删除元素...原创 2018-03-13 14:55:11 · 376 阅读 · 0 评论 -
多线程之间实现通讯
多线程之间实现通讯多线程之间如何实现通讯什么是多线程之间通讯?多线程之间通讯,其实就是多个线程在操作同一个资源,但是操作的动作不同。 多线程之间通讯需求需求:第一个线程写入(input)用户,另一个线程取读取(out)用户.实现读一个,写一个操作。 ### wait()、notify、notifyAll()方法 wait()、notify()、notif...原创 2018-03-13 14:55:40 · 226 阅读 · 0 评论 -
java多线程
1.1 进程和多线程的概念及线程的优点1.1.1 进程的概念完全可以将运行在内存中的exe文件理解成进程,进程是受操作系统管理的基本运行单元。1.1.2 线程的概念线程可以理解成是在进程中独立运行的子任务1.1.3 线程的优点其实如果读者有使用“多任务操作系统”的经验,比如windows系列,那么它的方便性大家应该都有体会:使用多任务操作系统Windows后,可以最大限度的利用cup的空闲时间来处理原创 2017-12-10 19:02:59 · 169 阅读 · 0 评论