首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

#线程

实现异步转同步的几种方式

鳄鱼儿

在循环等待中,我们可以使用一个变量来指示异步操作是否已完成。然后,我们可以在循环中检查该变量,如果它指示异步操作已完成,则退出循环。

600

Spring Boot 中启用异步调用

鳄鱼儿

在Java中一般开发程序都会同步调用的,程序中代码是一行一行执行下去的,每一行代码需要等待上一行代码执行完成才能开始执行。

700

Java|PageHelper 怎么自作主张帮我分页?

mzlogin

实际 的现象是:查询一被自动添加了 limit,最多只能查询到 10 条数据(示例 req 里的 pageSize 传的 10),导致查询二的查询条件不正确。

1100

synchronized和lock区别

鳄鱼儿

1800

AQS(AbstractQueuedSynchronizer)抽象同步队列

鳄鱼儿

AQS内部维护了一个CLH队列来管理锁。线程会首先尝试获取锁,如果失败就将当前线程及等待状态等信息包装成一个node节点加入到同步队列 sync queue里。

1100

乐观锁和悲观锁的理解及如何实现

鳄鱼儿

悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。

600

深入理解CAS

鳄鱼儿

不使用CAS,多线程环境不使用原子类保证线程安全i++(基本数据类型),加同步锁 synchronized

1500

可重入锁和自旋锁

鳄鱼儿

但 ReentrantLock 和 synchronized 不一样,需要手动释放锁,所以使用 ReentrantLock 的时候一定要手动释放锁,并且加锁次数...

1500

什么是阻塞队列

鳄鱼儿

Java 5 之前实现同步存取时,可以使用普通的一个集合,然后在使用线程的协作和线程同步可以实现生产者,消费者模式,主要的技术就是用好 wait ,notify...

400

什么是原子操作

鳄鱼儿

其基本的特性就是在多线程环境下, 当有多个线程同时执行这些类的实例包含的方法时,具有排他性,即当某个线程进入方法,执行其中的指令时,不会被其他线程打断,而别的线...

1800

死锁与活锁的区别,死锁与饥饿的区别

鳄鱼儿

活锁一般是由于对死锁的不正确处理引起的。由于处于死锁中的多个线程同时采取了行动。 而避免的方法也是只让一个线程释放资源。

1200

volatile和synchronized的区别

鳄鱼儿

800

多线程-线程池7大参数及其作用

鳄鱼儿

​ <1>第一个参数:corePoolSize线程池中会维护一个最小的线程数量,即使这些线程处理空闲状态,他们也不会被销毁,除非设置了allowCoreThre...

1000

线程池合适的线程数量

鳄鱼儿

第一种是 CPU 密集型任务,比如加密、解密、压缩、计算等一系列需要大量耗费 CPU 资源的任务。

1300

Java对象的创建过程

鳄鱼儿

在创建对象的时候有⼀个很重要的问题,就是线程安全,因为在实际开发过程中,创建对象是很频繁的事情,作为虚拟机来说,必须要保证线程是安全的,通常来讲,虚拟机采⽤两种...

1900

小米面试:如何实现优先级线程池?

磊哥

我们知道,线程池中的所有线程都是由统一的线程工厂来创建的,当我们指定线程工厂时,线程池中的所有线程会使用我们指定的线程工厂来创建线程;但如果没有指定线程工厂,则...

1100

库存领域核心能力--库存预占 建设实践

京东技术

解决方案:将redis操作放入lua脚本中,利用redis单线程执行以及lua脚本执行过程中不会被其他操作语句插入的特性,避免线程间互相影响

2510

聊聊乐观锁与悲观锁

@派大星

CAS是一种乐观锁技术,当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能成功更新变量的值,而其他线程都失败。失败的线程并不会被挂起,而是被告知在...

5410

大模型与AI底层技术揭秘(34)最早的国际象棋程序

用户8289326

由于图灵完备的处理器必然支持if-else指令,不同的GPU硬件线程(CUDA Core)跑到了不同的if-else分支会怎么样?

6510

再开一个新组件项目,这次和多线程相关!

小傅哥

我们知道,线程池(Thread Pool),是一种基于池化思想管理线程的工具,用于降低资源消耗、提高响应速度、提高线程的管理性。池化技术的引入,可以有效的减少线...

8910
领券