一.概述 LockSupport 和 CAS 是Java并发包中很多并发工具控制机制的基础,它们底层其实都是依赖Unsafe实现。 LockSupport是创建锁和其他同步类的基本线程阻塞原语,park 和 unpark 方法提供了阻塞和解除阻塞线程的有效方法 LockSupport类以及每个使用它的线程和一个permit({@link java.util.concurrent.Semaphore...

多线程同步的方式有很多种,synchronized,wait/notify,lock/condition等,这里介绍一下 LockSupport。 对于传统的wait/notify这种比较low的做法,1,要自己维护一套锁对象;2,必须在同步代码块中使用,3,无法控制两者之间执行顺序导致有时候会形成阻塞情况,4,开销比较大。 先来一个LockSupport的Demo吧: 相比于wait/notif...

在之前我们文章(关于多线程编程基础和同步器),我们就接触到了LockSupport工具和Condition接口,之前使用LockSupport工具来唤醒阻塞的线程,使用Condition接口来实现线程的等待和唤醒和Object方法里面的wait方法和notify方法。接下来我们就LockSupport和Condition进行展开: LockSupport Condition ConditionOb...

前面的文章介绍了几种锁的实现: java多线程解说【肆】_锁实现:wait()/notify() java多线程解说【伍】_锁实现:ReentrantLock的实现 java多线程解说【陆】_锁实现:Condition的实现 java多线程解说【捌】_锁实现:读写锁ReentrantReadWriterLock 本篇文章再介绍另一个LockSupport工具类。 LockSupport工具类 Lo...

常用的sublime text 3插件

工具

  

2019-07-01 13:14:54

安装Package Control 点击View -> Show Console 在下方命令行内,输入以下命令。   输入完,点击回车,可能会卡几秒钟。不要着急。卡完了,就可以发现Package Control已经装好了。可以查看到Preferences下多了一个Package Control来确实是否正常安装完成。 点击Preferences -> Package Cont...

Gradle安装 - Windows 7

工具

  

2019-07-02 22:04:33

Gradle安装 - Windows 7 1.开发环境 2.安装步骤 (1)下载最新的Gradle压缩包 (2)解压下载的压缩包到指定位置,比如: (3)配置环境变量 (4)测试配置是否成功 到此为止,Gradle安装结束...

使devc++拥有c++11的功能

工具

  

2019-07-23 07:26:24

为什么我的devc++不能使用c++11的一些功能,为什么不能用auto,为什么。。。其实只要加一句命令就好了,具体在哪加往下看,希望对你有帮助噢。 第一步:打开devc++  第二步:点击工具选择编译选项  第三步:在编译时加入命令-std=c++11并✔ 最后一步:点击确定,devc++就拥有更强大的功能喽。  ...

1.下载地址:https://share.weiyun.com/5SkSvvM(如果下载安装不起作用,才使用下面的配置) 2.下载安装之后,打开:F:\PhpStorm 2017.1.4\bin目录(安装位置可能不一样呦~)  下面有两个文件:phpstorm.exe.vmoptions,phpstorm64.exe.vmoptions  打开两个文件,分别在末尾添加如下代码:...

由于各种原因,笔者不能单纯的使用linux系统或者windows系统,当得知windows更新出了linux子系统的时候是相当开心。该篇文章主要表述如何在win10上搭建ubunt系统,并且使交互更加方便和美观。 1 ubunt子系统 打开开发者模式 设置菜单,更新和安全,开发者选项,然后选择开发者模式。 打开适用于linux的windows子系统 设置菜单,应用和功能,右方打开程序和功能,然后点...

校园网总是连不上23333 经常性得校园网登陆页面打不看,话不多说解决方法: 1  在chrome地址栏中输入 敲回车进入系统设置,点击打开代理设置, 2 在跳出的 Internet 属性弹窗中点击连接,然后点击局域网设置   3 在跳出来的弹窗中 代理服务器下面的勾去掉一路确定 刷新登录页面...

MySQL索引优化+慢查询定位

工具

  

2019-12-14 02:22:33

一、先谈谈事务 1. ACID特性 1.1 原子性: 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用; 1.2 一致性: 执行事务前后,数据库从一个一致性状态转换到另一个一致性状态。 1.3 隔离性: 并发访问数据库时,一个用户的事物不被其他事务所干扰,各并发事务之间数据库是独立的; 1.4 持久性: 一个事务被提交之后...

移动端中滚动条插件better-scroll(BScroll)的使用 定义: better-scroll 是一款重点解决移动端(已支持 PC)各种滚动场景需求的插件。它的核心是借鉴的 iscroll 的实现,它的 API 设计基本兼容 iscroll,在 iscroll 的基础上又扩展了一些 feature 以及做了一些性能优化。 better-scroll 是基于原生 JS 实现的,不依赖任何框...

hexo是一个很方便的静态博客系统,但是硬伤方就是没有后台,每次编写了markdown文件之后都需要运行构建命令,非常麻烦。为了解决这个问题,hexo提供了一个专门的插件叫hexo-admin,能够在web下提供增删改查的功能。虽然很方便而且功能齐全,但是hexo-admin的管理界面却不够美观,为了能够使用更加美观的界面,我放弃了hexo-admin,转而选择了kodexplorer可道云。 需...