王永文,出生于陕西,居北京朝阳。毕业于西安美术学院中国画系本科、中央美术学院 中国画学院材料表现工作室硕研班。主修中国人… 欣赏作品 《雪线守护》 王永文30445 《道音悠游》 王永文24601 《卡米拉的婚事》 王永文25500 《思想-先行》 王永文17709 《暮归苍茫》 王永文24688 《哈什小站的晨曦》 王永文22605...
扁豆一号 生如夏花之绚烂,死如落叶之静美! 博客园 首页 新随笔 联系 订阅 管理 随笔- 34 文章- 0 评论- 3 阅读- 13万 关于ThreadLocal的使用 摘要: 本文参考微信公众号文章链接:https://mp.weixin.qq.com/s/UNKVgvlWb3RRCHFEZlGO5w 项目实战为开发中的例子 ThreadLocal是什么? ThreadLocal...
Java NIO是new IO的简称,是一种可以替代Java IO的一套新的IO机制。它提供了一套不同于Java标准IO的操作机制,严格来说,NIO与并发并无直接关系,但是使用NIO技术可以大大提高线程的使用效率。Java NIO设计的基础内容有通道(Channel)、缓冲区(Buffer)、Selector(选择器)。下面说说这几个内容 1)通道(Channel) Channe...
多线程(9) — 无锁 对于并发控制而言,锁是一种悲观策略,它总是假设每一次的临界区操作会产生冲突。如果有多个线程同时需要访问临界区资源,则宁可牺牲性能让线程进行等待,所以说锁会阻塞线程执行。而无锁是一种乐观策略,它会假设对资源的访问是没有冲突的,既然没有冲突就不会让线程等待,所有线程可以在不停顿的情...
Future模式是多线程开发中常用常见的一种设计模式,它的核心思想是异步调用。在调用一个函数方法时候,如果函数执行很慢,我们就要进行等待,但这时我们可能不着急要结果,因此我们可以让被调者立即返回,让它在后台慢慢处理这个请求,对于调用者来说可以先处理一些其他事物,在真正需要数据的场合再去尝试获得需要的数据。对于Fu...
定义一系列算法,把它们一个个封装起来,并且使它们可以相互替换,本模式使得算法可以独立于使用它的客户而变化。策略模式包括以下三种角色 策略(Strategy):策略是一个接口,该接口定义若干个算法标识,定义了若干个抽象方法。 具体策略(ConcreteStrategy):具体策略是实现策略接口的类,具体策略实现策略接口所定义的抽象方法,给...
关键字Synchronize是最简单的控制方法,决定了一个线程是否可以访问临界区资源。同时,Object.wait()方法和Object.notify()方法起到了线程等待和通知的作用。下面介绍重入锁: 1. 重入锁 重入锁使用java.util.concurrent.locks.ReentrantLock类来实现。重入锁有着显示的操作过程,必须手动指定何时加锁何时释放锁,在对逻辑灵...
进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础,是线程的容器。 程序是指令、数据及其组织形式的描述,进程是程序的实体。 在Windows系统中,任务管理器中可以看到各个进程。 线程是轻量级进程,是程序执行的最小单位,使用多线程而不是多进程去进行并发程序...
可靠消息最终一致性方案是指当事务发起方执行完成本地事务后并发出一条消息,事务参与方(消息消费者)一定能够接收消息并处理事务成功,此方案强调的是只要消息发给事务参与方最终事务要达到一致。 此方案是利用消息中间件完成,如下图: 事务发起方(消息生产方)将消息发给消息中间件,事务参与方从消息中间件接收消息,事务发...
生产者-消费者模式是一个经典的多线程设计模式,它为多线程间的协作提供了良好的解决方案。这个模式中,通常有两类线程,即若干个生产者线程和若干个消费者线程。生产者线程负责提交用户请求,消费者线程则负责具体处理生产者提交的任务。生产者和消费者之间通过共享内存缓存区进行通信,这样就避免了生产者和消费者直接通信...