多线程并发编程
成大事者不吃全鱼!
seesun2012
成大事者,不吃全鱼!
展开
-
【多线程3】:通俗易懂的,并发锁、尝试锁、定时锁(概念+示例)
Lock接口出现的背景:synchronized关键字存在着一定的缺陷:1、阻塞式:当某一个线程获取锁时,并执行该代码块,其他线程只能够一直等待,等待取锁的线程释放锁;2、效率底:一但线程执行sleep,其他线程只能干巴巴的等待,一旦大量并发进入,将会极大影响性能;3、释放锁:只有两种情况:a.当前线程执行完毕。 b.线程执行异常;...原创 2018-11-26 16:27:33 · 22097 阅读 · 0 评论 -
【多线程2】:死锁+示例代码
什么是死锁: 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。示例代码:package com.seesun2012.csdn.cn;/** * 死锁 * * @author seesun2012@163.com ...原创 2018-04-01 12:20:18 · 21888 阅读 · 0 评论 -
【多线程1】:synchronized关键字(同步锁、可重入锁、非公平锁)
首先,什么是锁,为什么要用这个玩意儿?掌握Java中锁是Java多线程编程中绕不开的知识,只有知道理解Java各种锁才能在编码过程中灵活运用,写出更高效的多线程程序。而理解掌握锁的第一步,可从宏观上对比理解一下各种锁概念。synchronized同步锁:public class UserInfoService { /** 普通代码 **/ public String getUserIn...原创 2018-11-26 17:02:16 · 21289 阅读 · 0 评论