1、java中的线程池核心使用的是ThreadPoolExcutor的构造函数
2、线程池的合理配置
遵循原则:
1)CPU密集型:线程数和CPU数相同
2)IO密集型:操作数据库、io等待、阻塞、休眠,配置为2*CPU数
锁机制:
1、悲观锁
每次在拿数据的时候都会上锁
举例:
查询数据时sql后面加for update表示悲观锁
缺点:只能保证一个连接操作,导致效率低
2、乐观锁
会有一个版本标识——CAS无锁机制
3、悲观锁和乐观锁的区别
1)查询量小,可以使用悲观锁
2)版本控制使用乐观锁,需要加version字段
3)经常用到的是乐观锁