随笔分类 -  java / 多线程 day19

摘要:JDK5新增了一个Executors工具类来产生线程池,有如下几个方法 public static ExecutorService newCachedThreadPool() public static ExecutorService newFixedThreadPool(int nThreads) 阅读全文
posted @ 2024-08-21 10:30 ていせい 阅读(38) 评论(0) 推荐(0)
摘要:Java中使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制。 默认情况下,所有的线程都属于主线程组。 public final ThreadGroup getThreadGroup() 我们也可以给线程设置分组 Thread(ThreadGr 阅读全文
posted @ 2024-08-21 10:25 ていせい 阅读(19) 评论(0) 推荐(0)
摘要:![](https://img2024.cnblogs.com/blog/3491928/202408/3491928-20240819221937778-1347705077.png) 阅读全文
posted @ 2024-08-19 22:19 ていせい 阅读(13) 评论(0) 推荐(0)
摘要:测试类 package com.shujia.day19.waitdemo; /* 等待唤醒机制: 共享数据:学生对象(name,age) 生产者线程:对学生对象进行赋值操作 消费者线程:对学生对象进行取值操作 为了观察更好的效果,我们可以让生产者赋值不同的信息 这时候出现了重复取值和姓名与年龄对应 阅读全文
posted @ 2024-08-19 22:15 ていせい 阅读(24) 评论(0) 推荐(0)
摘要:package com.shujia.day19.sellTickets4; import java.util.concurrent.locks.ReentrantLock; /* 使用Runnable的方式实现 为了模拟更加真实的售票情况,我们加入延迟 问题: 我们加入了延迟之后,发现 a. 有重 阅读全文
posted @ 2024-08-19 22:11 ていせい 阅读(50) 评论(0) 推荐(0)
摘要:package com.shujia.day19.sellTickets3; /* 使用Runnable的方式实现 为了模拟更加真实的售票情况,我们加入延迟 问题: 我们加入了延迟之后,发现 a. 有重复售卖同一张票的情况(原因1) b. 还出现了一个不该出现的票数据,比如第0张票,第-1张票(原因 阅读全文
posted @ 2024-08-19 22:11 ていせい 阅读(29) 评论(0) 推荐(0)
摘要:package com.shujia.day19.sellTickets; /* 使用Runnable的方式实现 为了模拟更加真实的售票情况,我们加入延迟 问题: 我们加入了延迟之后,发现 a. 有重复售卖同一张票的情况(原因1) b. 还出现了一个不该出现的票数据,比如第0张票,第-1张票(原因2 阅读全文
posted @ 2024-08-19 21:29 ていせい 阅读(29) 评论(0) 推荐(0)
摘要:线程休眠 public static void sleep(long millis) 线程加入 public final void join() 线程礼让 public static void yield() 后台线程 public final void setDaemon(boolean on) 阅读全文
posted @ 2024-08-19 20:56 ていせい 阅读(20) 评论(0) 推荐(0)
摘要:package com.shujia.day19; /* 多线程: 进程: 正在运行的程序,是系统进行资源分配和调用的独立单位。 每一个进程都有它自己的内存空间和系统资源。 理解:一个正在运行的软件 线程: 是进程中的单个顺序控制流,是一条执行路径 一个进程如果只有一条执行路径,则称为单线程程序。 阅读全文
posted @ 2024-08-19 20:13 ていせい 阅读(24) 评论(0) 推荐(0)