上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 30 下一页
摘要: 在多线程并发的情况下,同一个变量被多个线程调用,那修改的数据就不会每分每秒保持一致。例如,对于某个变量a,线程1对它进行一套操作,线程2又对它进行另一套操作,但如果cpu太忙了,太忙了,假设cpu都用来处理线程1了,线程2对a的值进行修改了,也没有应用到线程1中来。(这只是可能发生的事,不是绝对发生 阅读全文
posted @ 2019-12-09 10:58 Scorpicat 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 线程通信 图片来源:尚学堂ppt 线程通信模型 管程法 案例一 没有加线程通信: 情景设置:工厂(生产者)生产馒头,仓库(缓冲器)存储馒头,商店(消费者)从仓库取走馒头,加线程安全,不加线程通信 package _20191206; /** * 生产者消费者模型:管程法 * @author TEDU 阅读全文
posted @ 2019-12-06 14:22 Scorpicat 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 一线程持有a资源,需要获取b资源才释放a资源。 二线程持有b资源,需要获取a资源才释放b资源。 造成死锁。 下面举个例子: 两个女人化妆,需要镜子和口红,两个人一个先拿镜子,再拿口红,另一个先拿口红,再拿镜子 /** * @author TEDU * 死锁出现的情况多是锁套锁。 */ public 阅读全文
posted @ 2019-12-06 13:42 Scorpicat 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 在java中,有一个专门用来处理并发容器的包:java.util.concurrent 包,其中有一个CopyOnWriteArrayList类,相当于ArrayList的线程安全版。 我们可以使用它代替ArrayList,就无需加synchronized来锁线程了。 注:本节内容了解即可(面试用) 阅读全文
posted @ 2019-12-06 12:18 Scorpicat 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 一个小总结 Synchronized与同步块的形象比喻: 我们以去商店买衣服为比喻:synchrnized锁方法就好比去一家商店买衣服,一次只能进一个人,买完出来才能进第二个人。而同步块则是在整个买衣服流程的关键之处:试衣间换衣服,结账(假设只有一个试衣间,只有一个收银台)时做了排队处理,排队使得数 阅读全文
posted @ 2019-12-05 12:02 Scorpicat 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 问题如图 点击 Attach Source 解决方法 下载src.zip包,src包地址:https://pan.baidu.com/s/1oAqqqHO 选择此src包即可 阅读全文
posted @ 2019-12-05 10:12 Scorpicat 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 守护线程概念 线程分为守护线程与用户线程 虚拟机必需确保用户线程得以执行完毕 虚拟机无需确认守护线程执行完毕 守护线程如后台日志记录,内存监控之类 英文为:daemon 我们需要强调的就是:虚拟机无需等待守护线程执行完毕,当所有用户线程执行完毕后,程序就关闭。 讲一个进程设置为线程的方法为: 线程对 阅读全文
posted @ 2019-12-04 17:01 Scorpicat 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 优先级概念 线程的优先级可以让线程获得高概率或低概率的cpu调度机会。不是绝对的优先,只是高优先级会被优先调用。 优先级为1-10,最低为1,最高为10,默认为5。可以自行设置值。 设置优先级必需在线程start()之前。 Thread类的优先级常量 MAX_PRIORITY 10 MIN_PRIO 阅读全文
posted @ 2019-12-04 16:36 Scorpicat 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 线程的五大状态 线程的五大状态为: 新生状态 就绪状态 运行状态 阻塞状态 死亡状态 图示一: 图示二: 改变线程状态的方法 新生线程 :new Thread() 就绪状态:start()方法进入就绪状态,阻塞结束进入就绪状态 运行状态:通过cpu调度算法将就绪状态的线程按优先级进行调用运行 手动停 阅读全文
posted @ 2019-12-03 17:38 Scorpicat 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 匿名内部类 参考:https://www.runoob.com/w3cnote/java-inner-class-intro.html 进入后搜索匿名内部类。 函数型接口 函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。 例如,我们 阅读全文
posted @ 2019-12-03 17:09 Scorpicat 阅读(219) 评论(0) 推荐(0) 编辑
上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 30 下一页