<dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.15.5</version> </dependency> @Configuration public class LockConfig { @Bean public RedissonClient redissonClient(){ Config config = new Config(); config.useSingleServer().setAddress("redis://xx.xx.xx.xx:6379").setPassword("xxxxx"); return Redisson.create(config); } } @Service public class LockService { public static int stock = 100; @Resource private RedissonClient redissonClient; public boolean getStock(){ RLock lock = redissonClient.getLock("lock-test3"); try { lock.lock(); if(stock <= 0){ return false; } stock--; System.out.println("线程名称 = " + Thread.currentThread().getName() + ", 库存数量 = " + stock); } catch (Exception e) { e.printStackTrace(); } finally { lock.unlock(); } return true; } }