互斥锁与自旋锁

互斥锁(Mutex)

互斥锁是一种实现线程同步的机制:当一个线程尝试获取互斥锁,如果互斥锁已经被占用则该线程会被挂起进入睡眠状态,直到被唤醒。线程被挂起时,CPU会将该线程当前的处理状态保存到内存中,等到唤醒时从内存中读取上次的处理状态,这个CPU切换线程处理状态的过程被称为“上下文切换”。上下文切换是一个非常耗时的操作,它需要相当多的CPU指令才能完成。但在早期单核处理器中,只能通过这个方式来完成,毕竟一口锅不能同时炒两盘菜。

Read More

Java多线程复习与巩固(九)--volatile关键字与CAS操作

系列文章:

Read More

Java多线程复习与巩固(八)--原子性操作与原子变量

系列文章:

Read More

Java多线程复习与巩固(七)--任务调度线程池ScheduledThreadPoolExecutor

系列文章:

Read More

Java多线程复习与巩固(六)--线程池ThreadPoolExecutor详解

系列文章:

Read More

Java多线程复习与巩固(五)--生产者消费者问题(第一部分)

系列文章:

Read More

Java多线程复习与巩固(四)--synchronized的实现

系列文章:

Read More

Java多线程复习与巩固(三)--线程同步

系列文章:

Read More

Java多线程复习与巩固(二)--线程相关工具类的使用

系列文章:

Read More