java进阶:15.4 多线程 - 信号量、原子操作

本文介绍了Java多线程中的信号量和原子操作概念。信号量用于控制对公共资源的访问,通过acquire()和release()方法实现许可的获取与释放。原子操作如i++并非线程安全,而Java中的AtomicInteger类提供线程安全的自增等原子性操作,确保在多线程环境下正确执行。
摘要由CSDN通过智能技术生成

1. 信号量

计算机科学中,信号量指对共同资源进行访问控制的对象。在访问资源之前,线程必须从信号量获取许可。在访问完资源之后,这个线程必须将许可返回给信号量。

为了创建信号量,必须确定许可的数量,同时可选用公平策略。任务通过调用信号量的acquire() 方法来获得许可,通过调用信号量的release()方法来释放许可。一旦获得许可, 信号量中可用许可的总数减1。一旦许可被释放,信号量中可用许可的总数加1。

	private static Semaphore = new Semaphore(1);
	...
	public void deposit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值