随笔分类 -  多线程

摘要: 阅读全文
posted @ 2022-12-24 14:47 爱的加勒比 阅读(21) 评论(0) 推荐(0) 编辑
摘要:更改 代码: package com.msb.test12; import jdk.nashorn.internal.objects.annotations.Constructor; import java.util.concurrent.locks.Condition; import java.u 阅读全文
posted @ 2022-12-24 14:44 爱的加勒比 阅读(26) 评论(0) 推荐(0) 编辑
摘要:【1】 【2】 package com.msb.test11; /** * @author : liu * 日期:15:42:06 * 描述:IntelliJ IDEA * 版本:1.0 */ public class Product {//商品类 //品牌 private String brand 阅读全文
posted @ 2022-12-24 09:10 爱的加勒比 阅读(16) 评论(0) 推荐(0) 编辑
摘要:【1】利用同步代码块解决问题 package com.msb.test10; import com.sun.media.sound.RIFFInvalidDataException; /** * @author : liu * 日期:16:02:52 * 描述:IntelliJ IDEA * 版本: 阅读全文
posted @ 2022-12-23 17:12 爱的加勒比 阅读(15) 评论(0) 推荐(0) 编辑
摘要:package com.msb.test10; /** * @author : liu * 日期:15:42:06 * 描述:IntelliJ IDEA * 版本:1.0 */ public class Product {//商品类 //品牌 private String brand; //名字 p 阅读全文
posted @ 2022-12-23 16:31 爱的加勒比 阅读(11) 评论(0) 推荐(0) 编辑
摘要:应用场景:生产者和消费者问题 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费 如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,知道仓库中再次放入产品为止 代码结果展示 代码: 1.商品:属性:品牌,名字 2线程1:生产者 3线程2:消费者 阅读全文
posted @ 2022-12-23 16:12 爱的加勒比 阅读(17) 评论(0) 推荐(0) 编辑
摘要:【1】对比: 线程安全效率低 线程不安全,效率高 【2】可能造成死锁 死锁 》不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源,就形成了线程的死锁 》出现死锁后,不会出现异常,不会出现提示,只是所有的线程都处于阻塞状态,无法继续 【3】代码演示 package com. 阅读全文
posted @ 2022-12-23 15:19 爱的加勒比 阅读(56) 评论(0) 推荐(0) 编辑
摘要:【1】Lock锁引入: JDK1.5后新增新一代的线程同步方式:Lock锁 与采用synchronized相比,lock可提供多种锁方案,更灵活 synchronized是JAVA中的关键字,这个关键字的识别是靠JVM来识别完成的。是虚拟机级别的。 但是Lock锁是API级别的,提供了相应的接口和对 阅读全文
posted @ 2022-12-23 13:47 爱的加勒比 阅读(58) 评论(0) 推荐(0) 编辑
摘要:【1】代码展示: package com.msb.test03; import sun.security.krb5.internal.Ticket; /** * @author : liu * 日期:10:38:04 * 描述:IntelliJ IDEA * 版本:1.0 */ public cla 阅读全文
posted @ 2022-12-22 16:38 爱的加勒比 阅读(14) 评论(0) 推荐(0) 编辑
摘要:package com.msb.test03; import sun.security.krb5.internal.Ticket; /** * @author : liu * 日期:10:38:04 * 描述:IntelliJ IDEA * 版本:1.0 */ public class BuyTic 阅读全文
posted @ 2022-12-22 16:00 爱的加勒比 阅读(32) 评论(0) 推荐(0) 编辑
摘要:【1】出现问题: (1)出现了2个10张票或者3个10张票 (2)0,-1,-2可能: 上面的代码出现的问题:出现了重票,错票, 》线程安全引起的问题 原因:多个线程,在争抢资源的过程中,导致共享的资源出现问题。一个线程还没执行完,另一个线程就参与进来了,开始争抢。 解决: 在我的程序中,加入“锁” 阅读全文
posted @ 2022-12-22 14:43 爱的加勒比 阅读(10) 评论(0) 推荐(0) 编辑
摘要:package com.msb.test08; /** * @author : liu * 日期:11:08:48 * 描述:IntelliJ IDEA * 版本:1.0 */ public class Demo { //这是一个main方法:是程序的入口 public static void ma 阅读全文
posted @ 2022-12-22 11:11 爱的加勒比 阅读(18) 评论(0) 推荐(0) 编辑
摘要:【1】设置伴随线程 将子线程设置为主线程的伴随线程,主线程停止的时候,子线程也不要继续执行了 案例:皇上--》驾崩--》妃子陪葬 结果: package com.msb.test08; /** * @author : liu * 日期:10:58:59 * 描述:IntelliJ IDEA * 版本 阅读全文
posted @ 2022-12-22 11:06 爱的加勒比 阅读(29) 评论(0) 推荐(0) 编辑
摘要:【1】sleep:人为的制造阻塞事件 public class Test01 { //这是一个main方法:是程序的入口 public static void main(String[] args) { try { Thread.sleep(3000); } catch (InterruptedEx 阅读全文
posted @ 2022-12-22 10:57 爱的加勒比 阅读(23) 评论(0) 推荐(0) 编辑
摘要:join方法:当一个线程调用了join方法,这个线程就会被先执行,他执行结束以后才可以去执行其余的线程。 注意:必须先start,在join才有效 package com.msb.test06; /** * @author : liu * 日期:15:02:26 * 描述:IntelliJ IDEA 阅读全文
posted @ 2022-11-19 17:20 爱的加勒比 阅读(83) 评论(0) 推荐(0) 编辑
摘要:【1】同优先级别的线程,采取的策略就是先到先服务,使用时间片策略 【2】如果优先级别高,被cpu调度的概率就高 【3】级别1-10 默认的级别为5 【4】代码 package com.msb.test05; /** * @author : liu * 日期:14:36:45 * 描述:Intelli 阅读全文
posted @ 2022-11-19 14:57 爱的加勒比 阅读(114) 评论(0) 推荐(0) 编辑
摘要:(1)start():启动当前线程,表面上调用start方法,实际在调用线程里面run方法 (2)run():线程类、继承Thread类或者实现Runnable接口的时候,都要重新实现这个run方法,run方法里面是线程要执行的内容 (3)currentThread:Thread类中一个静态方法:获 阅读全文
posted @ 2022-11-19 13:55 爱的加勒比 阅读(9) 评论(0) 推荐(0) 编辑
摘要:【1】线程声明周期:线程开始 》线程消亡 【2】线程经历那些阶段: 阅读全文
posted @ 2022-11-19 13:45 爱的加勒比 阅读(11) 评论(0) 推荐(0) 编辑
摘要:对比第一种和第二种创建线程的方式,无论第一种继承Thread类的方式还是第二种实现Runnable接口的方式,都需要一个run方法, 但是这个run方法有不足: (1)没有返回值 (2)不能抛出异常 基于上面的两个不足,在JDK1.5以后出现了第三种创建线程的方式:实现Callable接口: 实现C 阅读全文
posted @ 2022-11-19 11:30 爱的加勒比 阅读(49) 评论(0) 推荐(0) 编辑
摘要:【代码】 package com.msb.test03; import sun.security.krb5.internal.Ticket; /** * @author : liu * 日期:10:38:04 * 描述:IntelliJ IDEA * 版本:1.0 */ public class B 阅读全文
posted @ 2022-11-19 10:58 爱的加勒比 阅读(15) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示