一.什么是并发与高并发
##
并发:多个线程操作相同的资源,保证线程安全,合理使用资源。
高并发:服务能同时处理很多请求,提高程序性能。
二.并发及并发的线程安全处理
如何进行并发编程且保证并发线程的安全性可以从以下几个点进行展开。
1、线程安全性:原子性、可见性、有序性、atomic包、CAS算法、synchronized、Lock、volatile、happes-before。
2、安全对象:安全方法、不可变对象、final关键字的使用、不可变方法、线程不安全类与写法。
3、线程封闭 同步容器 并发容器:堆栈封闭、ThreadLocal线程封闭、JDBC的线程封闭、同步容器、并发容器、J.U.C。
4、线程调度:new Thread弊端、线程池的好处、ThreadPoolExecutor、Executor框架接口。
等等..
二.高并发处理的思路及手段
高并发的处理思路及手段可以从扩容、缓存、队列、应用拆分、限流、服务降级与服务熔断、数据库切库分库分表等方面考虑。