最新 最热

4-线程通信,线程状态

生产者负责生成商品,消费者负责消费商品,生产不能过剩(仍有数据未被消费时不能生产),消费不能没有(不能消费还没有生产的数据)

2022-10-27
17

9-线程概念与多线程模型

引入线程后,不仅是进程间可以并发执行,一个进程的不同线程之间也可以并发执行,提高了系统的并发度,使得一个进程内可以并发执行多项任务(例如QQ可以同时视频聊天,发送文件等等)...

2022-10-27
6

面试中经常被问到的线程池问题

想要进阶自己的开发水平,JDK源码中一些优秀的设计必须要经常学习,哪怕不学习,应对面试的时候,还是要能够应对几招,代表自己对这些东西还是有所了解。...

2022-10-27
19

Mysql主从|笔记

1、在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作...

2022-10-26
6

Juc并发编程08——Condition实现源码分析

我们知道,当一个线程调用await方法时,会进入等待状态,直到被其它线程使用signal方法唤醒。这里的等待队列就是用来存储处于await等待状态的线程的。...

2022-10-26
3

Juc并发编程07——公平锁真的公平吗(源码剖析)

重点关注注释代码处,如果hasQueuedPredecessors出现误判会怎么样呢?公平锁是不是就不公平了呀。那我们来研究下hasQueuedPredecessors,是不是真有百密一疏的情况。...

2022-10-26
3

juc并发编程05——读写锁

可重入锁是一种排他锁,同一时间只允许一个线程操作竞争资源。读写锁是针对读、写场景设计的,允许多个线程同时持有锁。读写锁维护了一个读锁和一个写锁。其机制如下:...

2022-10-26
3

9.线程的状态

通过以下代码来获取到线程状态 public static void main(String[] args) { for (Thread.State state : Thread.State.values()){ System.out.println(state); ...

2022-10-26
3

8.启动一个线程 / 中断一个线程 / 等待一个线程

此时的结束方式是比较温和的,如果此时执行到sleep时,已经sleep了100ms了此时isQuit被设置成了true,不会立刻结束,而是把剩下的400ms执行完了在结束。

2022-10-26
15

6. run()和start()方法的区别

t.run()——这里只是一个普通的方法调用,没有创建新的线程,输出语句是在原线程中执行的 t.start()——这里是要创建一个新的线程,有新的线程来执行输出...

2022-10-26
3