摘要:
Java基础学习:多线程22 死锁: 多个线程各自占有一些资源,并且互相等待其他线程占有的资源才能运行,而导致2个或多个线程都在等待对方释放资源,都停止执行的情况,某一个同步块同时拥有“2个以上对象的锁”时,就可能发生“死锁”的问题; 死锁怎么去避免:破解死锁产生的条件就可以避免死锁 产生死锁的4个 阅读全文
posted @ 2022-03-12 20:39
gzs1024
阅读(129)
评论(0)
推荐(0)
摘要:
Java基础学习:多线程20 线程同步:Synchronized(同步方法、同步代码块) 同步方法: 由于我们可以通过private关键字来保证数据对象只能被方法访问,所以我们只需要针对方法提出一套机制,这套机制就是synchronized关键字,它包括2种方法: //synchronized 方法 阅读全文
posted @ 2022-03-12 19:46
gzs1024
阅读(135)
评论(0)
推荐(0)
摘要:
Java基础学习:多线程19 三大不安全案例: 买火车票; 取钱; List集合; 代码案例1:买火车票 /** * 不安全的买票:多个线程操作同一资源对象; * 1,线程不安全,有负数;(每个线程在自己的工作内存交互,内存控制不当会造成数据不一致) * */public class UnSafe 阅读全文
posted @ 2022-03-12 19:06
gzs1024
阅读(480)
评论(0)
推荐(1)
摘要:
Java基础学习:多线程18 什么是线程同步:(多个线程操作同一资源;) 现实生活中,我们会遇到“同一个资源,多个人都想使用”的问题,比如:食堂排队打饭,每个人都想吃饭,最天然的解决办法就是:排队,一个个来; 处理多线程问题时,(并发:)多个线程访问同一个对象,并且某些线程还想修改这个对象;这时我们 阅读全文
posted @ 2022-03-12 18:12
gzs1024
阅读(36)
评论(0)
推荐(0)
摘要:
Java基础学习:多线程17 守护(daemon)线程: 线程分为用户线程和守护线程; 虚拟机必须确保用户线程执行完毕;main( ) 虚拟机不用等待守护线程执行完毕;gc( ); 如:后台记录操作日志,监控内存,垃圾回收等待。。。 代码案例: /** * 测试守护线程: * * 上帝守护你:2个 阅读全文
posted @ 2022-03-12 16:55
gzs1024
阅读(210)
评论(0)
推荐(0)