线程
文章平均质量分 91
多线程+案例
一百减一是零
被你捧做神明的人,怎会低头看尘埃里的你
展开
-
CountDownLatch用法、详解
CountDownLatch`是Java并发包中的一个同步工具类,用于控制线程的执行顺序和协调多个线程之间的操作。它通过一个计数器来实现,计数器的初始值由用户指定,每当一个线程完成了特定任务或达到了某个状态,计数器的值就会减少。当计数器的值变为0时,等待`CountDownLatch`的线程将被释放。`CountDownLatch`是一个非常有用的同步工具,适用于需要等待多个线程完成任务或达到某个状态后再继续执行的场景。它简单易用,但只能使用一次且无法逆转。原创 2023-12-14 10:39:13 · 75 阅读 · 0 评论 -
Java多线程之线程安全问题
1. 什么是线程安全问题我们知道操作系统中线程程的调度是抢占式执行的, 宏观上上的感知是随机的, 这就导致了多线程在进行线程调度时线程的执行顺序是不确定的, 因此多线程情况下的代码的执行顺序可能就会有无数种, 我们需要保证这无数种线程调度顺序的情况下, 代码的执行结果都是正确的, 只要有一种情况下, 代码的结果没有达到预期, 就认为线程是不安全的, 对于多线程并发时会使程序出现BUG的代码称作线程不安全的代码, 这就是线程安全问题.转载 2023-12-12 16:42:21 · 68 阅读 · 0 评论 -
java多线程(二)线程池
其中,Executors类提供了一种简单的方式来创建线程池,但它的参数相对固定,不适合进行复杂的配置。而ThreadPoolExecutor类则提供了更多的参数选项,可以灵活地配置线程池的各种属性,适用于更为复杂的场景。Java线程池是一种预先创建一定数量的线程,并将任务提交给这些线程执行的机制。线程池可以避免频繁创建和销毁线程,提高程序的性能和响应速度。- 使用起来比较简单,不需要自己手动管理线程池的状态;- 无法自定义线程池的大小和饱和策略;- 无法自定义线程池的大小和饱和策略;原创 2023-12-08 08:00:00 · 102 阅读 · 0 评论 -
java多线程(一)(火车售票)
通过实现Runnable接口来实现多线程,需要在实现类中实现run()方法,run()方法中的代码就是线程执行的内容。调用Thread类的构造方法创建线程对象时,需要将实现Runnable接口的对象作为参数传递给Thread类的构造方法。为了解决这些问题,Java提供了多种并发工具类,如synchronized关键字、Lock接口、Semaphore信号量等,可以保证多线程程序的正确性和稳定性。通过继承Thread类来实现多线程,需要在子类中重写run()方法,run()方法中的代码就是线程执行的内容。原创 2023-12-06 11:00:00 · 75 阅读 · 0 评论