最新 最热

一篇长文讲清楚java的synchronized以及各功能代码示例

Java中的synchronized关键字是一种同步机制,用于控制多个线程对共享资源的访问。在Java中,每个对象都有一个内部锁,也称为监视器锁或管程锁。当使用synchronized关键字修饰一个方法或代码块时,它会获取对象的内部锁,防止其...

2023-03-23
5

实现常驻任务除了避免昙花线程,还需要避免重返线程池

前面我们使用简单的例子演示了 Task 和 Thread 的两种制造昙花线程的方式。那么除了避免昙花线程,在实现常驻任务的时候,还需要避免重返线程池。本文将介绍如何避免重返线程池。...

2023-03-20
3

C++ 线程操作

两个或者多个独立的活动同时进行的现象称为并发。并发可以简单的认为,可以理解成多个应用程序同时运行。在单核CPU中,并发实际上是一种假象,进程之间实际上是按照一定的分配算法轮流使用CPU。...

2023-03-19
3

Java并发编程(六)

随着计算机硬件的快速发展,现代计算机系统的性能越来越强大。然而,单个线程的性能却没有相应地提高。这就导致了多线程编程的兴起。在多线程编程中,多个线程可以同时运行,从而提高了程序的整体性能。...

2023-03-17
5

std::shared_ptr 的线程安全性 & 在多线程中的使用注意事项

在讨论之前,我们先理清楚这样的一个简单但却容易混淆的逻辑。 std::shared_ptr 是个类模版,无法孤立存在的,因此实际使用中,我们都是使用他的具体模版类。这里使用 std::shared_ptr 来举例,我们讨论的时候,其实上是在讨论 s...

2023-03-16
2

Java中Thread.sleep源码分析

由上面的代码我们可以看到,如果在调用sleep之前或在sleep过程中,sleep线程被interrupt了,则该sleep方法会抛出InterruptedException异常。

2023-03-15
5

Java中Thread.interrupt源码分析

该方法主要做了两件事,首先是调用interrupt0,转向JVM做进一步的中断处理,其次是调用blocker.interrupt方法,中断blocker的当前操作,比如堵塞的io读写等。...

2023-03-15
4

Java中LockSupport.park/unpark源码分析

LockSupport类是java.util.concurrent包中各种锁实现的基础。了解LockSupport的内部机制,对于我们理解concurrent包中的各种锁的实现有很大帮助。

2023-03-15
2

Python与线程

进程在执行的过程中如果阻塞,例如等待输入,整个进程就会挂起,即使进程中有些工作不依赖于输入的数据,也将无法执行。

2023-03-14
3

各窗口共同卖票 【 Java 多线程 】

现实中也存在这样的情况: 模拟一个火车站的售票系统,假如当日从A地发往B地的火车票只有10张,且允许所有窗口卖这10张票,每一个窗口也相当于一个线程。1、Runnable接口实现public class Main {public static void main(Str...

2023-03-09
1