上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 14 下一页
摘要: 并发:同一个对象被多个线程同时操作 现实生活中,我们会遇到"同一个资源,多个人都想使用”的问题,比如,食堂排队打饭,每个人都想吃饭,最天然的解决办法就是:排队,一个个来。 处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个对象.这时候我们就需要线程同步,线程同步其实就是一种等待机制, 阅读全文
posted @ 2022-05-15 00:35 Epiphany8Z 阅读(38) 评论(0) 推荐(0)
摘要: 线程分为用户线程和守护线程 虚拟机必须确保用户线程执行完毕,如main()线程 虚拟机不用等待守护线程执行完毕,如后台记录操作日志,监控内存,垃圾回收:gc()等。 public class ThreadDaemon { public static void main(String[] args) 阅读全文
posted @ 2022-05-15 00:26 Epiphany8Z 阅读(39) 评论(0) 推荐(0)
摘要: Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行。 线程的优先级用数字表示,范围从1~10. Thread.MIN_PRIORITY = 1; Thread.MAX_PRIORITY = 10; Thread.NORM_PRIORIT 阅读全文
posted @ 2022-05-15 00:12 Epiphany8Z 阅读(33) 评论(0) 推荐(0)
摘要: 线程可以处于以下状态之一: NEW 尚未启动的线程处于此状态。 RUNNABLE 在Java虚拟机中执行的线程处于此状态。 BLOCKED 被阻塞等待监视器锁定的线程处于此状态。 WAITING 正在等待另一个线程执行特定动作的线程处于此状态。 TIMED_WAITING 正在等待另一个线程执行动作 阅读全文
posted @ 2022-05-14 21:47 Epiphany8Z 阅读(23) 评论(0) 推荐(0)
摘要: Join合并线程,待此线程执行完成后,再执行其他线程,其他线程阻塞 可以了解成插队 public class ThreadJoin implements Runnable{ @Override public void run() { try { Thread.sleep(100); } catch 阅读全文
posted @ 2022-05-14 21:02 Epiphany8Z 阅读(28) 评论(0) 推荐(0)
摘要: 礼让线程,让当前正在执行的线程暂停,但不阻塞 将线程从运行状态转为就绪状态 让cpu重新调度,礼让不一定成功!看CPU心情 代码: public class ThreadYield implements Runnable{ public static void main(String[] args) 阅读全文
posted @ 2022-05-14 20:53 Epiphany8Z 阅读(22) 评论(0) 推荐(0)
摘要: sleep(时间)指定当前线程阻塞的毫秒数; sleep存在异常InterruptedException; sleep时间达到后线程进入就绪状态; sleep可以模拟网络延时,倒计时等。 每一个对象都有一个锁,sleep不会释放锁; 倒计时Demo: public class ThreadSleep 阅读全文
posted @ 2022-05-14 20:45 Epiphany8Z 阅读(22) 评论(0) 推荐(0)
摘要: 建议线程正常停止:利用次数,不建议死循环。 建议使用标志位:设置一个标志位 不要使用stop或者destroy等过时或者JDK不建议使用的方法 public class ThreadStop implements Runnable{ private boolean flag = true; publ 阅读全文
posted @ 2022-05-14 20:30 Epiphany8Z 阅读(29) 评论(0) 推荐(0)
摘要: 流程: 详细: 方法 说明 setPriority(int newPriority) 更改线程的优先级 static void sleep(long millis) 在指定的毫秒数内让当前正在执行的线程休眠线程 void join() 等待该线程终止 static void yield() 暂停当前 阅读全文
posted @ 2022-05-14 20:18 Epiphany8Z 阅读(24) 评论(0) 推荐(0)
摘要: 1. Lambda(λ)表达式: λ希腊字母表中排序第十一位的字母,英语名称为Lambda 避免匿名内部类定义过多 其实质属于函数式编程的概念 2. 为什么要使用Lambda表达式? 避免匿名内部类定义过多 可以让你的代码看起来很简洁 去掉了一堆没有意义的代码,只留下核心的逻辑。 3. 也许你会说, 阅读全文
posted @ 2022-05-14 19:36 Epiphany8Z 阅读(38) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 14 下一页