
并发编程
Java-fly
这个作者很懒,什么都没留下…
展开
-
生产者消费者模型
import java.util.ArrayList;import java.util.HashMap;import java.util.Random;@SuppressWarnings(“all”)/**描述:@Author (fei)@Date $(DATE)*/class Producer1 implements Runnable{private HashM...原创 2020-07-15 14:44:20 · 134 阅读 · 0 评论 -
银行家算法-java
银行家算法(Banker’s Algorithm)是一个避免死锁(Deadlock)的著名算法.1.算法原理操作系统是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。为保证资金的安全,银行家规定:(1) 当一个顾客对资金的最大需求量不超过银行家现有的资金时就可接纳该顾客;(即request <= available)(2) 顾客可...原创 2019-12-22 20:42:01 · 331 阅读 · 0 评论 -
线程池的相关知识点(三大方法,七大参数,四种拒绝策略)
多线程编码方式:class MyTask implements Runnable{ public void run(){}}public class Test{ public static void main(String[] args){ MyTask task = new MyTask(); Thread thread = new Thre...原创 2019-02-14 22:09:57 · 279 阅读 · 0 评论 -
Java并发-volatile,synchronized关键字,happends-before原则,Lock锁和CAS操作
volatile和synchronized扮演者重要的角色。volatilevolatile是轻量级的synchronized,它保证了共享变量的可见性(当一个线程修改一个共享变量时,另一个线程可以读到这个修改的值)。如果volatile变量修饰符使用的恰当,比synchronize的使用和执行成本更低。synchronizedsynchronized是重量级锁,他不仅保证了可见性,还保证...原创 2019-02-14 21:40:21 · 352 阅读 · 0 评论