摘要: 线程同步 当多个线程操作同一资源,例如上万人同时抢几张火车票,几个人都想上厕所但只有一个坑位。这个时候就会由于资源的抢夺,导致程序输出错误的结果,比如说,一个人还没上完厕所,另一个就进去了。 线程同步就是用来解决上述问题,总的来说就是通过队列+锁的方式来控制对公共资源操作时不受其他线程影响 通过加锁 阅读全文
posted @ 2020-10-18 19:49 提笔书几行 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 守护线程 线程可以分为用户线程和守护线程 虚拟机必须确保用户线程执行完毕,比如main()主线程 虚拟机不用等待守护线程执行完毕,比如gc()垃圾回收线程 采用Thread.setDaemon(bool)方法设置守护线程,默认为false 例子 package MultiProcess; publi 阅读全文
posted @ 2020-10-18 15:11 提笔书几行 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 线程优先级 Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行。 线程的优先级用数字表示,范围从1-10 可以使用个体Priority()查看线程的优先级,setPriority(int)设置线程的优先级 源码 /** * The mi 阅读全文
posted @ 2020-10-18 14:46 提笔书几行 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 线程状态观测 线程状态。线程可以处于以下状态之一: NEW 尚未启动的线程处于此状态。 RUNNABLE 在Java虚拟机中执行的线程处于此状态。 BLOCKED 被阻塞等待监视器锁定的线程处于此状态。 WAITING 正在等待另一个线程执行特定动作的线程处于此状态。 TIMED_WAITING 正 阅读全文
posted @ 2020-10-18 00:05 提笔书几行 阅读(39) 评论(0) 推荐(0) 编辑