- 这是【从0到1学习Java线程池】系列文章的第 贰 篇,该系列文章总共三篇,介绍了 Java 线程池的使用以及原理,并且最后会实现一个基本的线程池。本篇文章介绍了 Java 线程池的原理。 在上一篇文章中(【从0到1学习Java线程池】Java线程池的简介以及使用),我们总结了线程池的3个优点: 线程复用控制最大并发数管理线程 这篇文章会分别从这三个方面,... 这是【从0到1学习Java线程池】系列文章的第 贰 篇,该系列文章总共三篇,介绍了 Java 线程池的使用以及原理,并且最后会实现一个基本的线程池。本篇文章介绍了 Java 线程池的原理。 在上一篇文章中(【从0到1学习Java线程池】Java线程池的简介以及使用),我们总结了线程池的3个优点: 线程复用控制最大并发数管理线程 这篇文章会分别从这三个方面,...
- 线程池 (1)new Thread 弊端 每次new Thred 新建对象,性能差线程缺乏统一管理,可能无限制的新建线程,相互竞争,有可能占用过多系统资源导致死机或者oom缺少更多功能,如更多执行,定期执行,线程中断 (2)线程池的好处 重在存在的线程,减少对象的创建,消亡的开... 线程池 (1)new Thread 弊端 每次new Thred 新建对象,性能差线程缺乏统一管理,可能无限制的新建线程,相互竞争,有可能占用过多系统资源导致死机或者oom缺少更多功能,如更多执行,定期执行,线程中断 (2)线程池的好处 重在存在的线程,减少对象的创建,消亡的开...
- (1)Future 、FutureTask public class FutureExample { static class MyTask implements Callable<String> { @Override public String call() throws Exception { return "10000"; } } public stati... (1)Future 、FutureTask public class FutureExample { static class MyTask implements Callable<String> { @Override public String call() throws Exception { return "10000"; } } public stati...
- Chapter16 | 爬虫性能提升 一、基础简介1、任务调度2、线程与进程2.1、进程2.2、线程2.3、线程与进程的联系2.4、线程与进程的区别 3、多线程3.1、多线程的原理3.2、多线程爬虫结构3.3、多线程的优势3.4、与单线程相比 3、Python的多线程模块3.1、threading模块3.2、Thread类的调用3.3、线程池的创建 ... Chapter16 | 爬虫性能提升 一、基础简介1、任务调度2、线程与进程2.1、进程2.2、线程2.3、线程与进程的联系2.4、线程与进程的区别 3、多线程3.1、多线程的原理3.2、多线程爬虫结构3.3、多线程的优势3.4、与单线程相比 3、Python的多线程模块3.1、threading模块3.2、Thread类的调用3.3、线程池的创建 ...
- 1 Spring Boot中异步请求的使用 1、异步请求与同步请求 特点: 可以先释放容器分配给请求的线程与相关资源,减轻系统负担,释放了容器所分配线程的请求,其响应将被延后,可以在耗时处理完成(例如长时间的运算)时再对客户端进行响应。 一句话:增加了服务器对客户端请求的吞吐量(实际生产上我们用的比较少,如果并发请求量很大的情况下,我们会通过nginx把请求负... 1 Spring Boot中异步请求的使用 1、异步请求与同步请求 特点: 可以先释放容器分配给请求的线程与相关资源,减轻系统负担,释放了容器所分配线程的请求,其响应将被延后,可以在耗时处理完成(例如长时间的运算)时再对客户端进行响应。 一句话:增加了服务器对客户端请求的吞吐量(实际生产上我们用的比较少,如果并发请求量很大的情况下,我们会通过nginx把请求负...
- 这篇文章是《读薄「Linux 内核设计与实现」》系列文章的第 II 篇,本文主要讲了以下问题:进程管理的任务、进程管理与其他模块的依赖关系、进程描述符和任务队列、进程的创建、线程的实现、进程的终止、进程调度。 0x00 进程管理的任务 进程能创建新的进程(通过复制现有进程)确定哪个进程能拥有 CPU接受中断并将中断导向相应的内核子系统管理时钟硬件当一个进程结... 这篇文章是《读薄「Linux 内核设计与实现」》系列文章的第 II 篇,本文主要讲了以下问题:进程管理的任务、进程管理与其他模块的依赖关系、进程描述符和任务队列、进程的创建、线程的实现、进程的终止、进程调度。 0x00 进程管理的任务 进程能创建新的进程(通过复制现有进程)确定哪个进程能拥有 CPU接受中断并将中断导向相应的内核子系统管理时钟硬件当一个进程结...
- 大家好,我是不温卜火,是一名计算机学院大数据专业大二的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只有csdn这一个平台,博客... 大家好,我是不温卜火,是一名计算机学院大数据专业大二的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只有csdn这一个平台,博客...
- 在命令行运行程序时,可以用“>"运算符把标准输出重定向到文件: ~/Desktop/Mc$ echo "hello world" > log.txt ~/Desktop/Mc$ tail -f log.txt hello world 123 标准输入、标准输出、标准错误是三大默认数据流,除此之外还有其他形式的数据流,如文件连接和网络连接也属于数据流。数据流就是流动的... 在命令行运行程序时,可以用“>"运算符把标准输出重定向到文件: ~/Desktop/Mc$ echo "hello world" > log.txt ~/Desktop/Mc$ tail -f log.txt hello world 123 标准输入、标准输出、标准错误是三大默认数据流,除此之外还有其他形式的数据流,如文件连接和网络连接也属于数据流。数据流就是流动的...
- ArrayList是非线程安全的,在多线程中同时操作ArrayList会经常出现ConcurrentModificationException。为了解决同步问题,java提供了Collections的同步类:SynchronizedList、SynchronizedMap、SynchronizedSet等。以SynchronizedList为例,从字面意义上看,应该是线程安全... ArrayList是非线程安全的,在多线程中同时操作ArrayList会经常出现ConcurrentModificationException。为了解决同步问题,java提供了Collections的同步类:SynchronizedList、SynchronizedMap、SynchronizedSet等。以SynchronizedList为例,从字面意义上看,应该是线程安全...
- 垃圾收集器 前言GC垃圾回收算法和垃圾收集器关系四种主要的垃圾收集器SerialParallelCMSG1 垃圾收集器总结查看默认垃圾收集器默认垃圾收集器有哪些各垃圾收集器的使用范围部分参数说明Java中的Server和Client模式新生代下的垃圾收集器串行GC(Serial)并行GC(ParNew)并行回收GC(Parallel)/ (Parallel ... 垃圾收集器 前言GC垃圾回收算法和垃圾收集器关系四种主要的垃圾收集器SerialParallelCMSG1 垃圾收集器总结查看默认垃圾收集器默认垃圾收集器有哪些各垃圾收集器的使用范围部分参数说明Java中的Server和Client模式新生代下的垃圾收集器串行GC(Serial)并行GC(ParNew)并行回收GC(Parallel)/ (Parallel ...
- 这是【从0到1学习Java线程池】系列文章的第 壹 篇,该系列文章总共三篇,介绍了 Java 线程池的使用以及原理,并且最后会实现一个基本的线程池。本篇文章主要介绍了 Java 线程池以及它的使用。 线程池是什么? 线程池用于多线程处理中,它可以根据系统的情况,可以有效控制线程执行的数量,优化运行效果。线程池做的工作主要是控制运行的线程的数量,处理过程中将任... 这是【从0到1学习Java线程池】系列文章的第 壹 篇,该系列文章总共三篇,介绍了 Java 线程池的使用以及原理,并且最后会实现一个基本的线程池。本篇文章主要介绍了 Java 线程池以及它的使用。 线程池是什么? 线程池用于多线程处理中,它可以根据系统的情况,可以有效控制线程执行的数量,优化运行效果。线程池做的工作主要是控制运行的线程的数量,处理过程中将任...
- AQS (1)aqs 使用node实现fifo队列,可以用于构建锁或者其他的同步装置的基础框架利用了一个int类型表示状态使用方法是继承子类通过继承并通过实现它的方法管理其状态{acquire 和 release}可以同时实现排他锁和共享锁模式(独占,共享) (2)Coun... AQS (1)aqs 使用node实现fifo队列,可以用于构建锁或者其他的同步装置的基础框架利用了一个int类型表示状态使用方法是继承子类通过继承并通过实现它的方法管理其状态{acquire 和 release}可以同时实现排他锁和共享锁模式(独占,共享) (2)Coun...
- 本博客简介介绍一下java线程的join方法,join方法是实现线程同步,可以将原本并行执行的多线程方法变成串行执行的 如图所示代码,是并行执行的 public class ThreadTest { //private static final Long count = 10000L; public static void main(String[] args){ ... 本博客简介介绍一下java线程的join方法,join方法是实现线程同步,可以将原本并行执行的多线程方法变成串行执行的 如图所示代码,是并行执行的 public class ThreadTest { //private static final Long count = 10000L; public static void main(String[] args){ ...
- 前言 本博客介绍一种创建型模式:单例模式 这是一种比较容易理解的设计模式,可以理解为创建对象的一种很好的做法。可以尽量避免创建过多的对象,给JVM造成很大的负载。 应用场景 单例模式的一些应用场景: 1、比如数据连接类,这是需要经常调用的 2、网站访问量统计的服务类,需要多次调用 3、导出导入Excel表,一些业务复杂的系统需要多次调用 … 总结起来就... 前言 本博客介绍一种创建型模式:单例模式 这是一种比较容易理解的设计模式,可以理解为创建对象的一种很好的做法。可以尽量避免创建过多的对象,给JVM造成很大的负载。 应用场景 单例模式的一些应用场景: 1、比如数据连接类,这是需要经常调用的 2、网站访问量统计的服务类,需要多次调用 3、导出导入Excel表,一些业务复杂的系统需要多次调用 … 总结起来就...
- 本博客介绍一下jvisualvm的简单使用教程,jvisualvm功能还是挺多的,不过本博客之简单介绍一下 1、拿线程快照信息 在jdk安装目录找到jvisualvm.exe,${JDK_HOME}\bin\jvisualvm.exe 这里可以看到具体的线程快照信息: 收集后可以看到如图,右键,保存线程快照信息 收集线程快照信息主要是为了监控是否有出现... 本博客介绍一下jvisualvm的简单使用教程,jvisualvm功能还是挺多的,不过本博客之简单介绍一下 1、拿线程快照信息 在jdk安装目录找到jvisualvm.exe,${JDK_HOME}\bin\jvisualvm.exe 这里可以看到具体的线程快照信息: 收集后可以看到如图,右键,保存线程快照信息 收集线程快照信息主要是为了监控是否有出现...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中
热门标签