最新 最热

ReentrantLock可重入独占锁详解

ReentrantLock位于java.util.concurrent(J.U.C)包下,是Lock接口的实现类。基本用法与synchronized相似,都具备可重入互斥的特性,但拥有更强大的且灵活的锁机制。...

2023-09-04
1

【面试题精讲】Redis如何实现分布式锁

Redis 可以使用分布式锁来实现多个进程或多个线程之间的并发控制,以确保在给定时间内只有一个进程或线程可以访问临界资源。以下是一种使用 Redis 实现分布式锁的常见方法:...

2023-09-04
1

Java线程中断(Interrupt)与阻塞(park)的区别

对于很多刚接触编程的人来说,对于线程中断和线程阻塞两个概念,经常性是混淆起来用,单纯地认为线程中断与线程阻塞的概念是一致的,都是值线程运行状态的停止。其实这个观点是错误的,两者之前有很大的区别,下文就着重介绍两者...

2023-09-03
1

Fio工具详解【强大的IO性能压测工具】

​ 是否使用 direct io,测试过程不使用OS 自带的buffer,使测试磁盘的结果更真实。Linux读写的时候,内核维护了缓存,数据先写到缓存,后面在后台写到SSD。读的时候也优先读缓存里的数据。这样速度可以加快,但是一旦掉电,缓存里...

2023-09-03
1

Java 是如何实现线程间通信的?

正常情况下,每个子线程完成各自的任务就可以结束了。不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。

2023-09-02
1

如何计算 Node.js GC 负载

在 Node.js 中,我们关注的比较的是 CPU 负载,但是在有 GC 的语言中,GC 负载也是需要关注的一个指标,因为 GC 过高会影响我们应用的性能。本文介绍关于 GC 负载的一些内容。...

2023-09-02
1

【Java】CAS及其缺点和解决方案梳理

CAS 英文就是 compare and swap ,也就是比较并交换,首先它是一个原子操作,可以避免被其他线程打断。在Java并发中,最初接触的应该就是Synchronized关键字了,但是Synchronized属于重量级锁,很多时候会引起性能问题,虽然在新的...

2023-09-02
1

Arrow HashJoin限制

最近在测试一些大数据量的HashJoin计算,例如:用户层设置batch数为600000,那么会导致crash。本节将会通过调试,来一步步学习SwissJoin(HashJoin的内部实现)的分区逻辑。...

2023-09-02
1

深度揭秘std::thread

当我们在写一个lambda时,传给thread,线程创建与task调用是在何时触发?

2023-09-02
1

C++并发编程之玩转condition_variable

最近在看并发编程相关的代码,自己顺手从0开始写了个小项目玩转并发场景下的生产消费者模型,如果你想提高多线程编程方面的能力,想熟练掌握condition_variable的使用,甚至想在面试当中凸显这一块的技术时,不妨与我一起探讨...

2023-09-02
1