三个线程顺序打印1-100
Synchronized 我们可以结合Sync和Object#notifyAll来完成,如下所示 public class Test001 {
// 锁,用于线程间通信
public static final Object LOCK = new Object();
// 数
Java并发
未读
SynchronousQueue和LinkedBlockingQueue的区别
无界队列:当 this.queues <= 0 时,使用 SynchronousQueue(无容量,直接传递任务给线程)。 有界队列:当 this.queues > 0 时,使用 LinkedBlockingQueue(固定容量,可缓冲任务)。 关键区别: SynchronousQueue:任务提交
Java并发
未读
synchronized的实现原理
【得分点】 对象头、锁升级 【参考答案】 标准回答 synchronized的底层是采用Java对象头来存储锁信息的,并且还支持锁升级。 Java对象头包含三部分,分别是Mark Word、Class Metadata Address、Array length。其中,Mark Word用来存储对象的
Java并发
未读
submit和execute的区别
1、submit 提交指定的任务去执行并且返回 Future 对象,即执行的结果 2、execute 开启线程,执行池中的任务 3、区别 execute()方法用于提交不
sleep和wait的区别
对于sleep()方法,我们首先要知道该方法属于Thread类中的。而wait()方法,则是属于Object类中的。 sleep()方法导致了程序暂停执行指定的的时间,让出CPU给其他线程,但是他的监控状态依然保持着,当指定的时间到了又会自动恢复运行状态。 在sleep()过程中,线程不会释放对象锁
Java并发
未读
shutdown和shutdownNow的区别
1、如何正确关闭线程池 示例: public class ShutDownThreadPoolDemo {
private ExecutorService service = Executors.newFixedThreadPool(10);
public static void m
Java并发
未读
0x01 Java并发常见问题
Java 并发 - 理论基础 多线程的出现是要解决什么问题的? 线程不安全是指什么? 举例说明 并发出现线程不安全的本质什么? 可见性,原子性和有序性。 Java是怎么解决并发问题的? 3个关键字,JMM和8个Happens-Before 线程安全是不是非真即假? 不是 线程安全有哪些实现思路? 如