多线程概述(并发编程)进程程序是静止的,而运行中的程序就是进程特征动态性:进程是运行中的程序,要动态的占用内存,CPU和网络等资源独立性:进程和进程之间是相互独立的,彼此有自己独立内存区域并发性:假如CPU是单核,同一时刻内存中只有一个进程在被执行,CPU会依时为每个进程服务,由于切换速度非常快,给我们的感觉就是这些进程在同时执行,这就是并发性并行:同一时刻
......
465
0
0
2022-12-13
想要进阶自己的开发水平,JDK源码中一些优秀的设计必须要经常学习,哪怕不学习,应对面试的时候,还是要能够应对几招,代表自己对这些东西还是有所了解。而线程池的源码,这块更是面试中经常被问到的东西,先试着列几个问题,看看自己对线程池的掌握程度:创建线程池的参数有哪些,分别代表什么意思?为什么阿里要求不能直接使用Executors工具类创建线程池?线程池线程的数量
......
392
0
0
2022-12-09
Java中的线程池,相信大家都接触过或者使用过,它里面到底是怎么运作的,不知道大家有没有去实际了解过?这篇文章将带领大家去看看它内部结构和实现原理。继承关系public class ThreadPoolExecutor extends AbstractExecutorService {}
public abstract class AbstractEx
......
316
0
0
2022-12-09
构造一个线程池为什么需要几个参数?如果避免线程池出现OOM?Runnable和Callable的区别是什么?本文将对这些问题一一解答,同时还将给出使用线程池的常见场景和代码片段。基础知识Executors创建线程池Java中创建线程池很简单,只需要调用Executors中相应的便捷方法即可,比如Executors.newFixedThreadPool(int
......
389
0
0
2022-12-09
前 言 🍉 作者简介:半旧518,长跑型选手,立志坚持写10年博客,专注于java后端 🍌 专栏简介:juc并发编程,讲解锁原理、锁机制、线程池、AQS、并发容器、并发工具等,深入源码,持续更新。 🌰 文章简介:本文主要介绍常用的并发工具类:CountdownLatch,将深入剖析源码,讲解其使用与原理线程计数器CountdownLatch源码剖析文章目录线
......
331
0
0
2022-12-06
前 言 🍉 作者简介:半旧518,长跑型选手,立志坚持写10年博客,专注于java后端 🍌 专栏简介:juc并发编程,讲解锁原理、锁机制、线程池、AQS、并发容器、并发工具等,深入源码,持续更新。 🌰 文章简介:本文主要介绍线程池的实现原理,注释十分详细,并且对于值的学习的代码做了点评 🍓 相关推荐:Juc并发编程12——2万字深入源码:线程池这篇真的讲解的
......
292
0
0
2022-12-06
本文将介绍常见的线程池的使用方法,介绍线程池的参数、拒绝策略、返回参数获取以及定时调度。2万字深入源码:线程池这篇真的讲解的透透的了1.线程池介绍2.线程池的使用2.1 构造方法参数详解2.2 线程池使用示例2.3 线程池的拒绝策略2.4 线程创建工厂2.5 线程异常3.使用Executors创建线程池3.1 newFixedThreadPool3.2 ne
......
292
0
0
2022-12-06
第一章 java多线程技能进程是受操作系统管理的基本运行单元,它受系统进行资源分配和调度的一个独立单元。线程是进程中独立运行的子任务。main函数也是一个进程,并且有一个main线程。isAlive()方法判断当前的线程是否处于活动状态,也就是线程已经启动且尚未终止状态。停止线程:interrupt()方法停止线程,并不会真正停止线程,而是加一个停止标记。
......
322
0
0
2022-12-05
线程的核心操作1.execute:把一个任务加到线程池中 2.shutdown:销毁线程池中的所有线程线程池的组成部分1.先有一个类,来描述具体线程的要做的工作是啥(借助Runnable接口) 2.还需要一个数据结构来组织若干个任务,BlockingQueue 3.需要有一个类,表示工作线程 4.还需要有一个数据结构,来组织若干个线程,LIst线程池代码im
......
317
0
0
2022-11-28
定时器可以强制终止请求:浏览器内部都有一个定时器,发送了请求之后,定时器就开始计时。如果在打开浏览界面的时候,浏览器的响应时间过了响应时间,就会强制终止请求。1.定时器的构成1.使用一个类来描述“一个逻辑”,也就是要执行的任务,同时也要记录这个任务啥时候来执行 2.使用一个 阻塞优先队列(既支持阻塞的特性,又支持按优先级的“先进先出”,实际上是堆) 来组织若
......
309
0
0
2022-11-28
生产者消费者模型 生产者消费者模式就是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力。这个阻塞队列就是用来给生产者和消费者解耦的。阻
......
267
0
0
2022-11-28
1. 线程不安全线程不安全代码:public class ThreadDemo13 {
static class Counter{
public static int count = 0;
public void increase(){
count++;
}
......
397
0
0
2022-11-28
启动一个线程调用start()方法,才能正式启动一个线程中断一个线程中断就是让一个线程结束,结束可能有两种情况:1.已经把任务执行完了以下代码为例:public class ThreadDemo7 {
private static boolean isQuit = false;
public static void main(Stri
......
290
0
0
2022-11-28
代码示例://Thread里面的常见属性
public class ThreadDemo6 {
public static void main(String[] args) throws InterruptedException {
Thread t = new Thread("xc"){
@Overr
......
320
0
0
2022-11-28
以下代码为例:public class ThreadDemo3 {
static class MyThread extends Thread{
@Override
public void run() {
System.out.println("线程");
}
......
333
0
0
2022-11-28