多线程
文章平均质量分 81
Mr. Dreamer Z
没有什么一蹴而就的事情,坚持 坚持 再坚持
展开
-
(2021-02-04)并发编程简介-并发编程(1)
关于并发编程,不光是面试经常问到,在实际的操作过程中,也会经常用到。所以一来是为了加深自己的印象,二来也希望能和大家公共学习。不对的地方请斧正,谢谢!1、程序、进程、线程的关联和区别?这是个老生常谈的问题了。很多公司的笔试题都会考这个问题,下面来简单分析下程序:程序是什么,举个例子,你经常玩的吃鸡、LOL就是程序(含有指令与数据的文件)进程:先说概念,进程就是程序运行资源分配的最小单位。你双击运行程序,就会产生一个进程。线程:概念:CPU调度的最小单位,存在于进程当中。你运行的游戏中就会原创 2021-02-04 20:54:07 · 1172 阅读 · 7 评论 -
关于AQS详解
这段时间自己学了下并发编程,然后发现提供的并发工具全部都和AQS有关。无论是Lock还是信号量,计数器等,都逃不过与AQS的联系。写这篇博客的初衷其实是自己想写一些并发工具类的文章,包括countdownlatch或者信号量之类的,但是它们底层都涉及到了AQS,所以先写这个AQS,一来是为了让自己更深刻的理解,二来是让大家阅读的时候有个参考。话不多说,开始今天的AQSAQS(AbstractQueuedSynchronizer)抽象的队列同步器。简单来说AQS就是一个用来构建锁或者其他同步组件的一个框架原创 2021-01-25 10:13:15 · 522 阅读 · 0 评论 -
并发编程工具类—— CountdownLatch(计数器)
最近学了并发编程,想谈谈自己的一些理解。一来是为了加深自己的印象,二来也希望能和大家公共学习。不对的地方请斧正,谢谢!之前说了TheadLocal,现在来讲一下CountdownLatch。说起CountdownLatch就不得不说AQS,但是我不想专门的去讲AQS,因为我感觉从用了AQS的工具上来深入,可以更好的帮助我理解两者。在这之前,我们先来大概的了解下什么是AQS(Abstract...原创 2020-05-07 12:06:20 · 375 阅读 · 0 评论 -
(2021.10.26)ThreadLocal简述
最近学了并发编程,想谈谈自己的一些理解。一来是为了加深自己的印象,二来也希望能和大家公共学习。不对的地方请斧正,谢谢!对于ThreadLocal来说,部分高级面试也会遇到这个问题。所以今天就来分析一下ThreadLocal首先,我们先来了解一下ThreadLocal到底是什么?其实和synchronized差不多,ThreadLocal也是一个工具,它的作用:为每个线程提供一个变量副本...原创 2020-04-16 21:56:36 · 244 阅读 · 0 评论 -
关于多线程生成Excel文件并压缩成ZIP(输入输出流形式非file创建)
这几天因为创建Excel的性能问题,头疼了几天。先说下我的需求:根据场次导出Excel,有多少个场次就有多少个sheet页。根据工具调试,发现创建WorkBook和Sheet真的很耗时,差不多要大约两秒的时间,所以想用多线程去操作。但是创建sheet的方法底层并没有做加锁处理,导致它每次创建都会去读当前的sheet总数,所以无法放到多线程中。由于这边的场次量很多,数据量也很大,和产品商量讨论之...原创 2020-04-05 19:52:42 · 1080 阅读 · 1 评论