![](https://img-blog.csdnimg.cn/752ddfdcc3024434bb0ef902860e8bdb.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java多线程
文章平均质量分 56
Java多线程相关知识总结记录
Feliks.
含血愤天
展开
-
多线程——总结:撒花
package net.cqwu.gaoji;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;//回顾总结线程的创建public class ThreadNew { public static void main(String[] args) { new MyThreadOn原创 2021-11-04 00:31:32 · 57 阅读 · 0 评论 -
多线程——线程协作
文章目录线程协作线程通信线程通信--分析解决方式1解决方式2使用线程池线程协作生产者消费者问题线程通信应用场景:生产者和消费者问题假设仓库只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止。如果仓库中有产品,则消费者可以将产品取走,否则停止消费并等待,直到仓库中再次放入产品为止。线程通信–分析这是一个线程同步问题,生产者和消费者共享同一个资源,并且生产者和消费原创 2021-11-04 00:30:39 · 172 阅读 · 0 评论 -
Java多线程——锁
文章目录死锁Lock锁synchronized和Lock的对比死锁多个线程各自占有一些共享资源,并且相互等待其他线程占有的资源才能运行,而导致两个或多个线程都在等待对方释放资源,都停止执行的情形,某一个同步块同时拥有“两个以上对象的锁”时,就可能会发生“死锁”的问题//死锁:多个线程互相持有对方需要的资源,然后形成僵持public class DeadLock { public static void main(String[] args) { Makeup g1 = n原创 2021-11-02 17:52:51 · 402 阅读 · 0 评论 -
Java多线程——线程的优先级及同步问题
文章目录线程优先级守护(daemon)线程线程同步并发队列和锁线程同步三个不安全案例不安全的买票不安全的取钱不安全的线程同步方法弊端同步块安全的买票安全的取钱安全的集合安全类型的集合——JUC线程优先级Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定该调度哪个线程来执行线程的优先级用数字表示,范围从0~10:Thread.MIN_PRIORITY = 1;Thread.MAX _PRIORITY = 10;Thread.NOM_PRIORITY =原创 2021-11-02 17:02:37 · 509 阅读 · 0 评论 -
多线程——五个状态及状态观测
文章目录线程状态线程方法线程停止线程休眠_sleep线程礼让_yield线程强制执行_join线程状态观测线程状态创建状态就绪状态阻塞状态运行状态死亡状态线程方法方法说明setPriority(int newPriority)更改线程的优先级static void sleep(long millis)在指定的毫秒数内让当前正在执行的线程休眠void join()等待该线程终止static void yield()暂停当前正在执行的线程对象,并执行原创 2021-10-31 21:26:11 · 232 阅读 · 0 评论 -
多线程——Lamda表达式
Lamda表达式避免匿名内部类定义过多其实质属于函数式编程的概念(params) -> expression[表达式] (params) -> statement[语句] (params) -> {statements}为什么要使用lamda表达式避免匿名内部类定义过多可以让你的代码看起来很简洁去掉了一堆没有意义的代码,只留下核心的逻辑理解Functional Interface(函数式接口)是学习Java8 Lamda表达式的关键所在函数式接原创 2021-10-31 00:15:38 · 114 阅读 · 0 评论 -
多线程——静态代理
静态代理通过婚庆案例说明线程的底部原理//静态代理模式总结://真实对象和代理对象都要实现同一个接口//代理对象要代理真实角色//好处 //代理对象可以做很多真实对象做不了的事情 //真实对象专注做自己的事情public class StaticProyxy { public static void main(String[] args) { You you = new You();//你要结婚 new Thread(()->原创 2021-10-30 22:59:29 · 68 阅读 · 0 评论 -
多线程——线程的三种创建方式
文章目录线程创建三种创建方式Thread(class)=>继承Thread类(重点)※Runnable接口=>实现Runnable接口(重点)用Runnable实现上面两个例子小结买火车票模拟龟兔赛跑案例Callable接口=>实现Callable接口(了解即可)线程创建三种创建方式Thread(class)=>继承Thread类(重点)自定义线程类继承Thread类重写**run()**方法,编写程序执行体创建线程对象,调用**start()**方法启动线程//创原创 2021-10-30 11:49:44 · 263 阅读 · 0 评论 -
Java多线程概述
文章目录线程、进程、多线程Process(进程)和Thread(线程)本章核心概念线程、进程、多线程Process(进程)和Thread(线程)说起进程,即想到程序,程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的单位**注意:**很多多线程是模拟出来的,真正的多线程是指有多个CPU,即原创 2021-10-28 17:52:57 · 94 阅读 · 0 评论