一、CountDownLatch 场景:主线程需要等待所有子线程执行完毕后再进行汇总 CountDownLatch实现比较简单,继承AQS实现了一个不可重入共享锁Sync 1.不可重入共享锁Sync private static final class Sync extends AbstractQu ...
分类:
编程语言 时间:
2020-02-06 14:54:31
阅读次数:
89
IPC机制 进程间通信 + 进程和线程 + 线程是CPU调度的最小单元,同时线程是一种有限的系统资源。 + 进程一般指一个执行单元,在PC和移动设备上指一个程序或者一个应用。一个进程可以包含多个线程。 + 多进程情况 + 一个应用出自某些原因采用多进程模式实现,比如希望通过多进程获取多份内存空间。 ...
分类:
其他好文 时间:
2020-02-04 13:52:18
阅读次数:
86
ScheduledThreadPoolExecutor继承了ThreadPoolExecutor,是一个指定一定延迟时间后或者定时进行任务调度执行的线程池 参考自《java并发编程之美》 ...
分类:
其他好文 时间:
2020-02-04 00:14:40
阅读次数:
100
大概的讲解发包的过程 嗯嗯~还有好多细节没讲,等后续学到了再来这补一补 ...
分类:
其他好文 时间:
2020-01-31 18:42:50
阅读次数:
54
前言 在Java 1.5之前,Java语言提供的唯一并发语言就是管程,Java 1.5之后提供的SDK并发包也是以管程为基础的。除了Java之外,C/C++、C 等高级语言也都是支持管程的。 那么什么是管程呢? 见名知意,是指管理共享变量以及对共享变量操作的过程,让它们支持并发。翻译成Java领域的 ...
分类:
编程语言 时间:
2020-01-28 21:07:16
阅读次数:
93
参考 "一件有趣的事: 爬了爬自己的微信朋友" 忘记从谁那里看到的了,俺也来试试 首先在annconda prompt里面安装了itchat包 目前对python这里还不太熟,只能说,这是哪个大神写好的包呢?希望有一天俺也能自己写包,发包 在jupyter notebook上面完成的,这个小的记事本 ...
分类:
微信 时间:
2020-01-24 22:23:34
阅读次数:
253
前提 最近一直在看 相关的内容,也在编写一个轻量级的 框架来练手,途中发现了 的源码有很多亮点,某些实现甚至可以用 苛刻 来形容。另外, 提供的工具类也是相当优秀,可以开箱即用。这里分析一下个人比较喜欢的领域,并发方面的一个 工具模块 。 环境版本: Promise简介 Promise,中文翻译为承 ...
分类:
Web程序 时间:
2020-01-24 10:54:28
阅读次数:
91
CAS是什么? CAS的全称为Compare And Swap它是一条CPU并发原语,也就是在CPU硬件层面上来说比较并且判断是否设置新值这段操作是原子性的,不会被其他线程所打断。在JAVA并发包java.util.concurrent.atomic下底层所采用的就是利用CAS机制来避免进行并发计算 ...
分类:
编程语言 时间:
2020-01-24 00:32:08
阅读次数:
122
两个锁都是依赖AQS实现的,方法基本是Sync的封装,主要看Sync的设计实现, 一、可重入独占锁ReentrantLock 1.静态内部抽象类Sync //继承AQS abstract static class Sync extends AbstractQueuedSynchronizer { p ...
分类:
其他好文 时间:
2020-01-22 18:18:05
阅读次数:
111
目前我们在用的技术方案是策略模式,在APP发包的时候,每次都是需要在当前版本迭代往上加,然而每次发包的内容并非覆盖所有功能的,有些功能是复用兼容旧版本。 因此是从class的name+版本好进行判断处理业务逻辑。比如8.0的版本是初版,那么8.0.1++往上叠加,若判断该版本是有新的功能迭代,那么就 ...
分类:
移动开发 时间:
2020-01-22 11:06:10
阅读次数:
127