![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
好小伙17
学无止境
展开
-
04线程扩展
死锁的产生必要4条件:互斥,共享资源 X 和 Y 只能被一个线程占用;占有且等待,线程 T1 已经取得共享资源 X,在等待共享资源 Y 的时候,不释放共享资源 X;不可抢占,其他线程不能强行抢占线程 T1 占有的资源;循环等待,线程 T1 等待线程 T2 占有的资源,线程 T2 等待线程 T1 占有的资源,就是循环等待以执行main方法后 产生死锁@Data@AllArgsConstructorpublic class Account { private String accou原创 2020-06-09 22:37:46 · 98 阅读 · 0 评论 -
03线程通讯
wait和 notify必须配合synchronized使用,wait方法释放锁,notify方法不释放锁(唤醒一个等待线程)多线程中本地内存如下代码中,线程t1启动,当main线程修改state参数为false时,t1线程应该跳出循环并打印变量 i 的值,但运行发现并没有,t1线程并没有发现state参数被更改,原因是:线程之间的共享变量存储在主内存中,但每个线程都有一个私有的本地内存,本地内存中存储了该线程以读/写共享变量的副本。public class ThreadDemo3 {原创 2020-05-21 09:45:21 · 155 阅读 · 0 评论 -
02深入了解-锁(synchronized)
如下demo中 输出的count 结果小于如期的1000数public class ThredDemo { public static int count = 0; public static void calc() { try { Thread.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); }原创 2020-05-21 22:29:02 · 186 阅读 · 0 评论 -
01认识多线程及其使用
引出 并发/高并发简单来说,并发是指单位时间内能够同时处理的请求数。默认情况下Tomcat可以支持的最大请求数是150,也就是同时支持150个并发。当超过这个并发数的时候,就会开始导致响应延迟,连接丢失等问题。影响并发的两个因素:硬件:CPU,内存,磁盘 网络软件线程数量 JVM内存分配大小网络通讯机制(BIO,NIO,AIO)磁盘IOJava中的线程public class ThreadTest extends Thread{ @Override publ原创 2020-05-19 16:58:15 · 98 阅读 · 0 评论