-
Notifications
You must be signed in to change notification settings - Fork 0
Apeopl/multithread
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
synchronized:同步,同步的概念就是共享 asynchronized:异步,异步的概念就是独立,相互之间不受任何制约。 同步就是为了线程安全,线程安全需要满足两个条件:原子性和可见性 volatile:保证变量在多线程间的可见性 atomic只能保证本身方法的原子性,不能保证多次操作的原子性 wait/notify:保证线程间的通信,必须配合synchronized关键字使用,wait释放锁,notify不释放锁 ThreadLocal:线程本地变量,是一种无锁的线程安全解决方案,以空间换时间 单例:饥饿模式,懒汉模式,双重检查,静态内部类 同步类容器(Vector、Hashtable)/并发类容器(ConcurrentHashMap、CopyOnWriteArraylist) ConCurrentMap:ConCurrentHashMap、ConCurrentSkipListMap(支持并发排序) COW容器(Copy-On-Write):CopyOnWriteArrayList、CopyOnWriteArraySet,写时复制的容器 并发Queue:ConCurrentLinkedQueue为代表的高性能queue,BlockingQueue接口为代表的阻塞队列 ConCurrentLinkedQueue是基于链表节点的无界线程安全队列,元素遵循FIFO的原则。 DelayQueue:带有延迟时间的queue,其中的元素必须实现Delayed接口,无大小限制,应用场景:缓存超时进行数据移除, 任务超时处理、空闲连接的关闭。 多线程模式: Future模式 Master-Worker模式:并行计算 生产者-消费者模式 线程池: Executors工具类中自带的:cached、fixed、singled、scheduled 自定义线程池:无界队列、有界队列 锁: 常用工具类:CountDownLatch、CyclicBarrier Callable、Future(适用于耗时长的业务逻辑处理) 重入锁:ReentrantLock
About
多线程测试
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published