![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 52
Ooo.OO.ooO
这个作者很懒,什么都没留下…
展开
-
自定义@Log实现
import java.lang.annotation.*;@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface Log { String value() default "默认日志";}import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.re原创 2021-07-16 13:59:43 · 221 阅读 · 2 评论 -
什么是线程死锁?如何避免死锁?
什么是线程死锁线程死锁描述的是这样⼀种情况:多个线程同时被阻塞,它们中的⼀个或者全部都在等待某个资源被释放。由于线程被⽆限期地阻塞,因此程序不可能正常终⽌。假如线程 A 持有资源 2,线程 B 持有资源 1,他们同时都想申请对⽅的资源,所以这两个线程就会互相等待⽽进⼊死锁状态。产⽣死锁必须具备的四个条件互斥条件:该资源任意⼀个时刻只由⼀个线程占⽤。请求与保持条件:⼀个进程因请求资源⽽阻塞时,对已获得的资源保持不放。不剥夺条件:线程已获得的资源在末使⽤完之前不能被其他线程强⾏剥夺,只有⾃⼰使⽤完毕原创 2021-07-15 14:09:12 · 918 阅读 · 0 评论 -
Java模拟生产者消费者问题
什么是线程死锁线程死锁描述的是这样⼀种情况:多个线程同时被阻塞,它们中的⼀个或者全部都在等待某个资源被释放。由于线程被⽆限期地阻塞,因此程序不可能正常终⽌。假如线程 A 持有资源 2,线程 B 持有资源 1,他们同时都想申请对⽅的资源,所以这两个线程就会互相等待⽽进⼊死锁状态。产⽣死锁必须具备的四个条件互斥条件:该资源任意⼀个时刻只由⼀个线程占⽤。请求与保持条件:⼀个进程因请求资源⽽阻塞时,对已获得的资源保持不放。不剥夺条件:线程已获得的资源在末使⽤完之前不能被其他线程强⾏剥夺,只有⾃⼰使⽤完毕原创 2021-07-15 13:51:01 · 184 阅读 · 0 评论