解忧铺子

解忧铺子

多线程笔记(8) -显式锁和AQS

显式锁 手动声明或释放锁, synchronized为内置锁(非公平锁),并不是显式锁,synchronized不提供中断或者超时等方法,有局限性 1,如果没有用到Lock类的尝试获取锁tryLock


admin  501  2019-10-08 阅读全文

多线程笔记(7) -原子操作CAS

cas 乐观锁 更多称为无锁化编程,比较并交换,使用cas时,本质上并不会去抢夺锁 处理器CAS指令(内存地址,旧值,新值):现代cpu在底层提供了cas的比较并且交换的指令,可以保证campare内


admin  450  2019-09-11 阅读全文

多线程笔记(6) -并发工具类-Callable,Future,FutureTask

Callable call()方法有返回值,返回的是传入的类型的数据 FutureTask 有返回值,实现了runnableFuture接口,可以当做runnable来用,FutureTask 接收C


admin  520  2019-09-06 阅读全文
多线程笔记(5) -并发工具类-CyclicBarrier,Semaphore,Exchange

多线程笔记(5) -并发工具类-CyclicBarrier,Semaphore,Exchange

1,CyclicBarrier 屏障:当线程Ta先执行到了await方法时候,等待;然后Tb又执行到了await方法,继续等待,直到最后一个线程执行到了他自己的await方法之后,图中的三个线程才会继


admin  495  2019-09-06 阅读全文
多线程笔记(4) -并发工具类-CountDownLatch

多线程笔记(4) -并发工具类-CountDownLatch

让线程同时进行,闭锁 一个或多个线程,等待其他线程执行完之后再执行 比如启动web框架,主线程会等待所有初始化线程执行完之后再继续执行 注意:1,计数器和线程数并不是一对一的关系。计数器可以远大于线程


admin  471  2019-08-29 阅读全文

多线程笔记(3) -并发工具类-fork/join

fork/join框架 分而治之 在必要情况下,将一个大任务拆分(fork)成若干个相同的小任务(拆分到不可拆分时),再将一个个的小任务运算的结果进行join汇总 动态规划 分割成相同的小问题,但是小


admin  457  2019-08-23 阅读全文