![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发
liujiaxinggit_java
这个作者很懒,什么都没留下…
展开
-
守护线程
守护线程线程分为用户线程和守护线程。虚拟机必须确保用户现场执行完毕。虚拟机不比等待守护线程执行完毕。gc(); 后台操作日志;监控内存等均为守护线程;// 设置守护线程方法Thread t = new Thread(***);t.setDaemon(true);// 默认为false 一般都是用户线程t.start...原创 2020-10-20 11:50:03 · 97 阅读 · 0 评论 -
线程优先级
线程优先级没用,设置了也不一定有用;线程优先级1-10,枚举3个 1, 5,10,main线程默认优先级为5,不可更改;原创 2020-10-20 11:49:32 · 267 阅读 · 0 评论 -
线程状态
线程状态New:创建并未启动Runnable:JVM中执行时Blocked:被阻塞等待监视器锁定Waiting:等待其它线程完成指定动作Time Waiting:等待其它线程到达指定时间Terminated:线程已退出执行, 已经终止或中断的线程不能再被启动// 输出线程状态public class TestState { public static void main(String[] args) { Thread thread = new Thread((原创 2020-10-20 11:47:27 · 116 阅读 · 0 评论 -
λ表达式 · 演变
使用条件接口必须是函数式接口。即接口中只有一个抽象方法lambda演变外部类 –> 静态内部类 –> 局部内部类 –> 匿名内部类 –> lambda1、常规接口实现 // lambda表达式演变过程 public class TestLambda { public static void main(String[] args) { ILike like = new Like(); like.lambda();原创 2020-10-20 11:42:24 · 156 阅读 · 0 评论 -
线程的创建方式 · 3种示例
Thread类继承Thread类需要重写run线程体, idea快捷键Ctrl + O,选择run();此时,实现类拥有父类方法start,使用子类对象调用start即可启动线程,缺点,直接继承Thread方式,只能执行绑定的run方法任务,不灵活,不推荐此方式。public class TestThread1 extends Thread { // 重写线程体 @Override public void run() {原创 2020-10-20 11:40:24 · 206 阅读 · 0 评论 -
并发基本概念
先了解些并发的基本概念。程序 程序 是数据和指令的有序集合,本身无意义,就是一个静态的概念。 进程 是执行程序的一个运行过程,操作系统的资源分配,是动态概念。 线程 是程序执行过程中的确切操作的执行对象。线程启动一个程序就会启动一个进程(Process),一个进程内包含1个到多个线程(Thread)(必有一个main线程,还可能有其他守护线程daemon),main线程是主线程,程序的入口,用于执行整个程序。一个线程内包含多个指令(线程是cpu的调度和执行单位),原创 2020-10-20 11:37:08 · 2223 阅读 · 0 评论