
并发编程
文章平均质量分 92
大·风
想起来什么就写点什么。
展开
-
JAVA项目中的异步任务
如果需要自定义线程池需要在。原创 2023-04-09 11:17:23 · 8869 阅读 · 1 评论 -
并发编程学习——7 Lock的基类AQS(AbstractQueuedSynchronizer)源码分析
AbstractQueuedSynchronizer在查看ReentrantLock和ReentrantReadWriteLock源码的时候会发现里面会维护一个Sync的对象,根据其注释可以知道,这个是执行所有同步机制的核心工具。而他继承与AbstractQueuedSynchronizer。AbstractQueuedSynchronizer各种锁的基类。这个类时其他许多同步类的基类,A...原创 2019-06-28 00:37:07 · 267 阅读 · 0 评论 -
并发编程学习——4 线程安全的容器类
线程安全的容器同步容器同步容器包括 Vector和Hashtable,这些同步容器的封装器是由Collections.synchronizeDXXXX等工程安魂构建的。并发容器的实现原理显得简单而粗暴,将他们的状态封装起来,并对每个共有方法都进行同步,使得每次只有一个线程能访问容器的状态。比如这样 public synchronized V get(Object key) { ...原创 2019-06-23 23:32:02 · 474 阅读 · 0 评论 -
并发编程学习—— 1 概述
为什么要使用多线程硬件的支持目前CPU都已经是多核心的情况下。假如程序只在一个线程运行的时候,就无法完全利用多核心的好处,而且单线程中等待IO的操作会带来大量的等待时间,所以在目前多核心CPU普及的情况下,多线程成为更好的解决方案为了更灵敏的响应在单线程执行的时候,当前一个请求没有完成请求的情况下,后一个请求是无法处理的。假如因为资源获取产生延迟会导致后面请求都阻塞那里。而在多线程的情况下...原创 2019-06-22 23:13:22 · 275 阅读 · 0 评论 -
并发编程学习——2 线程的安全性
线程安全性所谓的线程安全性核心在于对访问状态操作进行管理,特别是对共享和可变的状态的访问。一个对象有时候不仅仅保存在对象本身,有时候还保存在许多和它关联的对象中,任何一个地方发现变更,都可能影响其他地方数据。什么是线程安全对象可以在多个线程之间调用,同时线程之间不会出现错误的交互。不安全的线程出现的问题竞态条件并发编程中有一个情况叫做“竞态条件”,描述的是当两个线程对同一个资...原创 2019-06-22 23:14:26 · 286 阅读 · 0 评论 -
并发编程学习——3 队列
队列queuepublic interface Queue<E> extends Collection<E> { /** * 向队列中添加元素 */ boolean add(E e); /** * 向队列中添加元素,成功后返回true失败后返回false */ boolean offer(E e)...原创 2019-06-23 23:30:28 · 282 阅读 · 0 评论 -
并发编程学习——5 线程和线程池
显式的为任务创建线程new Thread对于很多人来说很长一段时间都是他们接触多线程的起点。显式的为任务创建线程我们通过new Thread创建线程去拆分任务会有什么好处呢?任务处理过程从主线程中分离出来,使得主循环能够更快地重新等待下一个到来的连接。任务可以并行处理,从而能够同时服务多个请求。如果有多个处理器,或者任务由于某种原因被阻塞,程序的吞吐量将得到提高当然任务处理...原创 2019-06-23 23:34:05 · 361 阅读 · 0 评论 -
并发编程学习——6 锁
锁锁主要被分为内置锁和Lock体系下的锁,目前这些锁包含:内置锁synchronizedLock锁ReentrantLockReadWriteLock内置锁内置锁其实主要就是synchronized(同步代码块),即使最开始的锁也是最长用的锁。这是一个简单的同步代码块的使用例子 public Thread getDefThread () { ...原创 2019-06-26 23:44:10 · 162 阅读 · 0 评论 -
并发编程学习——8 学习笔记-多线程影响性能的因素
线程最主要的目的是提高程序的运行性能,提升性能的技术同样会增加复杂性,因此也就增加了安全性和活跃性上发生失败的风险。错误的线程使用无效加锁有时候我们尝试使用方法中的对象做为锁的时候,这个锁其实是没有起作用的。 public void test() { Object o = new Object(); synchronized (o) { ...原创 2019-07-02 00:19:17 · 925 阅读 · 0 评论