2017年5月公开课公告

发布日期:2017年04月05日| 点击: 173 次| 暂无评论

学习本身就是一件难事,而计算机技术的学习更是难上加难,很多人学习投入很大但是提升很慢,原因何在?请看这里:公开课公告...

进程与线程的研究分析

发布日期:2017年04月25日| 点击: 89 次| 暂无评论

进程与线程的历史渊源 进程是CPU进行资源分配的最小单位,线程是CPU调度的最小单位。以前进程既是资源分配也是调度的最小单位,后来为了更合理的使用CPU(因为CPU的性能越来越好),才将资源分配和调度分开,就...

乐观锁和悲观锁介绍

发布日期:2017年04月24日| 点击: 80 次| 暂无评论

乐观锁和悲观锁定义 乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版...

CAS算法简介

发布日期:2017年04月23日| 点击: 82 次| 暂无评论

CAS(Compare And Swap)指的是现代 CPU 广泛支持的一种对内存中的共享数据进行操作的一种特殊指令。这个指令会对内存中的共享数据做原子的读写操作。 简单介绍一下这个指令的操作过程:首先,CPU 会将内...

懒汉形式的单例模式多线程问题研究

发布日期:2017年04月22日| 点击: 313 次| 暂无评论

作为一个单例,我们首先要确保的就是实例的“唯一性”,有很多因素会导致“唯一性”失效,它们包括:多线程、序列化、反射、克隆等,更特殊一点的情况还有:分布式系统、多个类加载器等等。其中,多线程问题最为突出。为了提高应用...

synchronized的加锁方式

发布日期:2017年04月22日| 点击: 64 次| 暂无评论

synchronized的本质是给对象上锁,对象包括实例对象,也包括类对象。常见的加锁方式有下面几种写法: (1)在非static方法上加synchronized,例如:public void synchronized...

互斥锁,自旋锁和读写锁

发布日期:2017年04月18日| 点击: 286 次| 暂无评论

锁是为了解决某种资源(又称为临界资源)互斥使用提出的一种机制。常用的有互斥锁、自旋锁和读写锁。 自旋锁和互斥锁功在使用时差不多,每一时刻只能有一个执行单元占有锁,而占有锁的单元才能获得临界资源的使用权,从而达到了互...

CPU的核心数、线程数的关系和区别

发布日期:2017年04月16日| 点击: 159 次| 暂无评论

我们在选购电脑的时候,CPU是一个需要考虑到核心因素,因为它决定了电脑的性能等级。CPU从早期的单核,发展到现在的双核,多核。CPU除了核心数之外,还有线程数之说,下面文本就来解释一下CPU的核心数与线程数的关系和区别。...

内核态(Kernel Mode)与用户态(User Mode)的研究

发布日期:2017年04月10日| 点击: 277 次| 暂无评论

引言 在多线程并发情况下,互斥同步对性能最大的影响是阻塞的实现,挂起线程和恢复线程的操作都需要转入内核态中完成,这些操作给系统的并发性能带来了很大的压力。 内核态和用户态 内核态: CPU可以访...