原理 生产者在仓库没有满的时候进行生产,满了后等待 消费者在仓库有存货事新型消费,没货是等待 示例 #Phone #Storage 说明: synchonized保证对象只能被一个线程占用 执行wat()后,当前线程处于等待状态,释放锁,让别的线程可以继续执行 执行notify()后,唤醒其他处于w ...
分类:
其他好文 时间:
2019-03-31 13:30:34
阅读次数:
162
常使用微信分享网页链接的朋友可能都会经常碰到打开后提示 “已停止访问该网页” 的情况,遇到这种情况的时候,很多人不知道怎么办,其实做到微信内打开网页自动唤醒手机默认浏览器打开就能解决问题了。下面给大家介绍这个功能 功能目的生成微信跳转链接,实现微信内置浏览器跳转外部浏览器打开网页。功能实现对网页所属 ...
分类:
微信 时间:
2019-03-29 16:08:33
阅读次数:
256
JavaSe基础知识点总结 1、变量 变量是内存中用来存放特定数据类型数据的一块内存空间,它的值是可以改变的。Java中的变量有四个基本属性:变量名,数据类型,存储单元和变量值 变量名:合法的标识符 变量的数据类型:可以是基本类型和引用类型(必须包含类型) 存储单元:存储单元大小是由数据类型决定的, ...
分类:
编程语言 时间:
2019-03-28 09:45:41
阅读次数:
155
一.Lock接口 常用方法 Lock提供了一个更加面对对象的锁,在该锁中提供了更多的操作锁的功能。 使用Lock接口,以及其中的lock()方法和unlock()方法替代同步,对电影院卖票案例中Ticket类进行如下代码修改: 二.死锁 同步锁使用的弊端:当线程任务中出现了多个同步(多个锁)时,如果 ...
分类:
编程语言 时间:
2019-03-24 09:15:17
阅读次数:
223
转自:https://segmentfault.com/a/1190000008836467 本文将介绍在Linux系统中,数据包是如何一步一步从网卡传到进程手中的。 如果英文没有问题,强烈建议阅读后面参考里的两篇文章,里面介绍的更详细。 本文只讨论以太网的物理网卡,不涉及虚拟设备,并且以一个UDP ...
分类:
系统相关 时间:
2019-03-15 19:01:43
阅读次数:
248
Synchronized关键字随着JDK版本升级,出现了越来越多的优化,比如偏向锁,轻量级锁,以及锁消除,锁粗化等优化的方向,本文从概念上对这些进行了简单的介绍。 ...
分类:
编程语言 时间:
2019-03-11 13:20:57
阅读次数:
147
AbstractQueuedSynchronizer是JUC的核心框架,其设计非常精妙。使用了Java的模板方法模式。首先试图还原一下其使用场景:对于排他锁,在同一时刻,N个线程只有1个线程能获取到锁;其他没有获取到锁的线程被挂起放置在队列中,待获取锁的线程释放锁后,再唤醒队列中的线程。线程的挂起是获取锁失败时调用Unsafe.park()方法;线程的唤醒是由其他线程释放锁时调用Unsafe.un
分类:
编程语言 时间:
2019-03-10 19:09:59
阅读次数:
199
cpu进程,核线程,都是并发几个 全局解释锁,多核cpu优势削弱 RLock用法与Lock一致,但是可以允许开启多个锁,但是也要关闭后,别的进程才能打开 信号量也是锁但是是一次可以进去几个、 Seamaphore() 用法与Lock一致 Event好处是可以唤醒 定时器 线程队列 quene.Que ...
分类:
编程语言 时间:
2019-03-10 19:05:47
阅读次数:
230
import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /* * 编写一个程序,开启 3... ...
分类:
其他好文 时间:
2019-03-05 13:57:56
阅读次数:
150
REQUIRES_NEW 如果不在一个事务那么自己创建一个事务 如果在一个事务中 自己在这个大事务里面在创建一个子事务 相当于嵌套事务 双层循环那种 不管是否存在事务,业务方法总会自己开启一个事务,如果在已有事务的环境中调用,已有事务会被挂起,新的事务会被创建,直到业务方法调用结束,已有事务才被唤醒 ...
分类:
其他好文 时间:
2019-02-26 22:20:33
阅读次数:
208