欢迎光临
我们一起进阶

yi的文章

Java

Java并发编程(十七):Semaphore

yi阅读(20)评论(0)赞(0)

1、 应用场景   Semaphore用来控制同时访问某个特定资源的操作数量,或者同时执行某个指定操作的数量。还可以用来实现某种资源池限制,或者对容器施加边界。 1.1 当成锁使用 控制同时访问某个特定资源的操作数量,代码如下: publi...

Java

Java并发编程(十六):atomic

yi阅读(27)评论(0)赞(0)

1. 原子操作类介绍 在并发编程中很容易出现并发安全的问题,有一个很简单的例子就是多线程更新变量i=1,比如多个线程执行i++操作,就有可能获取不到正确的值,而这个问题,最常用的方法是通过Synchronized进行控制来达到线程安全的目的...

Java并发编程(十五):reeetrantreadwritelock-小白学堂
Java

Java并发编程(十五):reeetrantreadwritelock

yi阅读(24)评论(0)赞(0)

读写锁 ReetrantReadWriteLock 读写锁在同一时刻可以允许多个读线程访问,但是在写线程访问时,所有的读线程和其他写线程均被阻塞。 只需在读操作时获取读锁,写操作时获取写锁。当写锁被获取时,后续的读写操作都会被阻塞,写锁释放...

Java并发编程(十四):ReentrantLock-小白学堂
Java

Java并发编程(十四):ReentrantLock

yi阅读(23)评论(0)赞(1)

Java并发编程Lock,ReentrantLock的工作原理及使用方式 jdk提供synchronized实现线程同步,但有些场景下并不灵活,如多个同步方法,每次只能有一个线程访问;而Lock则可以非常灵活的在代码中实现同步机制 I. L...

Java

Java并发编程(十三):Callable、Future和FutureTask

yi阅读(18)评论(0)赞(0)

创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就...

Java并发编程(十二):ThreadLocal-小白学堂
Java

Java并发编程(十二):ThreadLocal

yi阅读(37)评论(0)赞(0)

ThreadLocal是什么 早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。   当使用Th...

小白学堂,学的不止是技术,更是前程

关于我们免责声明