- 博客(3)
- 资源 (4)
- 收藏
- 关注
原创 【03】Java并发编程学习笔记之——互斥锁(原子性问题解决方案)(下)
在上一篇文章中,我们提到受保护资源和锁之间合理的关联关系应该是 N:1 的关系,也就是说可以用一把锁来保护多个资源,但是不能用多把锁来保护一个资源,并且结合文中示例,我们也重点强调了“不能用多把锁来保护一个资源”这个问题。而至于如何保护多个资源,我们今天就来聊聊。1保护没有关联关系的多个资源 在现实世...
2019-07-14 18:52:24 191
原创 LetCode:239。滑动窗口。
1. 求一个字符串最大的子字符串。1.1 查找某个字符串的最大子字符串。子字符串:任意取出N个字符,即为字符串的字串(不一定是连续的)。1.2 比较规则两个字串比较,先从字符串第一个位置的字符,比较,哪个大,该字符串,大,如果相同,则比较下一个。直到比较出大小。如果一个字符串的长度用尽,仍未比较出大小,则长度长的字符串更大。举例如下:字符串: abecd“ed” 和“bcd”:...
2019-07-07 20:40:17 136
转载 【02】Java并发编程学习笔记之——互斥锁(原子性问题解决方案)(上)
在第一篇文章中我们提到,一个或者多个操作在 CPU 执行的过程中不被中断的特性,称为“原子性”。理解这个特性有助于你分析并发编程 Bug 出现的原因,例如利用它可以分析出 long 型变量在 32 位机器上读写可能出现的诡异 Bug,明明已经把变量成功写入内存,重新读出来却不是自己写入的。那原子性问题到底该如何解决呢?你已经知道,原子性问题的源头是线程切换,如果能够禁用线程切换那不就能解...
2019-07-01 08:50:34 363
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人