摘要: Description 给定两个字符串,返回两个字符串的最长公共子序列(不是最长公共子字符串),可能是多个。 Input 输入第一行为用例个数, 每个测试用例输入为两行,一行一个字符串 Output 如果没有公共子序列,不输出,如果有多个则分为多行,按字典序排序。 Sample Input 1 1 阅读全文
posted @ 2021-03-21 22:46 凝冰物语 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 原文链接:https://www.jianshu.com/p/00edb3d74a33 CAS是CPU的一条指令,其具有原子性,原子性是由CPU硬件层面保证的。 CAS原语有三个操作数——内存位置(V)、预期原值(A)、新值(B)。若内存位置与预期原值匹配则处理器将该位置更新为新值。否则不做操作。无 阅读全文
posted @ 2021-03-18 09:07 凝冰物语 阅读(340) 评论(0) 推荐(0) 编辑
摘要: CopyOnWriteSet 该容器与CopyOnWriteArrayList相似,也是读取时不加锁,任意线程可以读。写入时加锁创建一个新的容器,然后写入新元素。 内部用CopyOnWriteArrayList存储元素 private final CopyOnWriteArrayList<E> al 阅读全文
posted @ 2021-03-17 20:08 凝冰物语 阅读(556) 评论(0) 推荐(0) 编辑
摘要: 并发容器一览 图源:https://time.geekbang.org/column/article/90201?utm_term=pc_interstitial_938 CopyOnWriteArrayList 该容器支持多个线程同时读(读不加锁),但同一时刻只能一个线程写(写加锁)。 内部维护了 阅读全文
posted @ 2021-03-17 14:11 凝冰物语 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 安全性: 数据竞争: 多个线程同时访问一个数据,并且至少有一个线程会写这个数据。 竞态条件: 程序的执行结果依赖程序执行的顺序。 也可以按照以下的方式理解竞态条件: 程序的执行依赖于某个状态变量,在判断满足条件的时候执行,但是在执行时其他变量同时修改了状态变量。 if (状态变量 满足 执行条件) 阅读全文
posted @ 2021-03-12 15:22 凝冰物语 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 产生死锁的四个必要条件: 1.互斥条件:一个资源同一时刻只能被一个线程所占有。 2.持有并等待条件:一个线程T1已经持有某资源X,然后申请获得新的资源Y,在等待过程中不释放已有资源X。 3.不可抢占条件:其它线程不能强行抢占线程T1的资源。 4.循环等待条件:线程T1持有资源X,等待线程T2持有的资 阅读全文
posted @ 2021-03-12 15:20 凝冰物语 阅读(1942) 评论(0) 推荐(0) 编辑
摘要: a happens-before b 翻译为a操作对b操作是可见的。可见即是指共享变量的更改能获知。 特性:传递性 原则:volatile定义的变量 写操作 happens-before 读操作 同一线程的代码顺序执行,先前的操作 happens-before 之后的操作 syncroized的解锁 阅读全文
posted @ 2021-03-12 15:16 凝冰物语 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 1.wait()方法 该方法继承于Object类。在调用obj.wait()方法后,当前线程会失去obj的锁。待其他线程调用obj.notify()或notifyAll()方法后进入锁等待池,争抢到锁后进行执行wait()后续代码。 wait(long time)方法超时自动结束阻塞,进入锁等待池, 阅读全文
posted @ 2021-03-12 15:07 凝冰物语 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 1.sleep()方法 jdk文档描述:Causes the currently executing thread to sleep (temporarily cease execution) for the specified number of milliseconds, subject to 阅读全文
posted @ 2021-03-12 14:58 凝冰物语 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 线程的创建方式 1.继承Thread类,重写run方法,示例如下: 1 class PrimeThread extends Thread { 2 long minPrime; 3 PrimeThread(long minPrime) { 4 this.minPrime = minPrime; 5 } 阅读全文
posted @ 2021-03-12 14:43 凝冰物语 阅读(78) 评论(0) 推荐(0) 编辑