@Async("asyncTaskExecutor") 没有并发处理问题?

@Override
    @Async("asyncTaskExecutor")
    public void onMessage(MapRecord<String, String, String> entries) {
        redisTemplate.opsForValue().increment("debug-message");
        int c = (int) redisTemplate.opsForValue().get("debug-message");
        int time = 1;
        try {
            while(time<=60){
                time++;
                Thread.sleep(1000);
                redisTemplate.opsForValue().increment("debug-message-"+c);
            }
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
}

核心线程1 最大线程1000 使用CallerRunsPolicy

这个代码是redis stream的接收的

一次性插入了大量数据 但是并没有出现并发处理的情况

这个是为什么?我理解错误了还是使用错误了?

阅读 165
1 个回答

是个虚拟化线程的好场景

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏