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