多线程的使用场景与原理面试问答
面试围绕多线程展开,阐述使用多线程提升资源利用率和并发能力的原因及适用场景,如大文件读写、耗时任务和定时任务。解释线程安全的含义,并给出常用解决方案:原子类、CountDownLatch、并发集合、synchronized、Lock 及分布式锁。说明 synchronized 通过 monitorenter/monitorexit 实现锁机制及其字节码标志。比较 synchronized 与 ReentrantLock 的锁释放方式、可公平性、可中断性、超时获取和 tryLock。简述公平锁概念并介绍 CAS 的工作原理及在 AtomicInteger 中的应用。