当前位置:网站首页 > 技术博客 > 正文

collection集合的分类



图片.png

1,locks(锁包)

locks(锁包):是JDK提供的锁机制,相比synchronized关键字来进行同步锁,功能更加强大,它为锁提供了一个框架,该框架允许更灵活地使用锁包含的实现类有:

1)ReentrantLock 它是独占锁,是指只能被独自占领,即同一个时间点只能被一个线程锁获取到的锁。
2)ReentrantReadWriteLock 它包括子类ReadLock和WriteLock。ReadLock是共享锁,而WriteLock是独占锁。
3)LockSupport 它具备阻塞线程和解除阻塞线程的功能,并且不会引发死锁。

2,executor(执行者)

executor(执行者):是Java里面线程池的顶级接口,但它只是一个执行线程的工具,真正的线程池接口是ExecutorService,里面包含的类有:

3,tools(工具类)

又叫信号量三组工具类,包含有
1)CountDownLatch(闭锁) 是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待
2)CyclicBarrier(栅栏) 之所以叫barrier,是因为是一个同步辅助类,允许一组线程互相等待,直到到达某个公共屏障点 ,并且在释放等待线程后可以重用。
3)Semaphore(信号量) 是一个计数信号量,它的本质是一个“共享锁“。信号量维护了一个信号量许可集。线程可以通过调用 acquire()来获取信号量的许可;当信号量中有可用的许可时,线程能获取该许可;否则线程必须等待,直到有可用的许可为止。 线程可以通过release()来释放它所持有的信号量许可。


是JDK提供的一组原子操作类,
包含有AtomicBoolean、AtomicInteger、AtomicIntegerArray等原子变量类,他们的实现原理大多是持有它们各自的对应的类型变量value,而且被volatile关键字修饰了。这样来保证每次一个线程要使用它都会拿到最新的值。

主要是提供线程安全的集合, 比如:
1)ArrayList对应的高并发类是CopyOnWriteArrayList,
2)HashSet对应的高并发类是 CopyOnWriteArraySet,
3)HashMap对应的高并发类是ConcurrentHashMap等等


  • 上一篇: mac破解软件合集
  • 下一篇: memset头文件
  • 版权声明


    相关文章:

  • mac破解软件合集2025-08-28 14:00:59
  • javascript 防抖2025-08-28 14:00:59
  • ddos攻击手段教程2025-08-28 14:00:59
  • f_fdisk2025-08-28 14:00:59
  • linux getopt函数2025-08-28 14:00:59
  • memset头文件2025-08-28 14:00:59
  • 灰度发布技术2025-08-28 14:00:59
  • c语言中左移运算符怎么用2025-08-28 14:00:59
  • python协程和golang协程的区别2025-08-28 14:00:59
  • 软件安全测试方法2025-08-28 14:00:59