Skip to content

Apeopl/multithread

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 

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

No packages published

Languages