java - Java - 在单独的线程上调用对象方法
问题描述
Java 和多线程问题相当新,所以请多多包涵。
问题:是否可以创建多个线程并将某个方法“分配”给一个线程(我希望有某种不错的装饰器),以便每当调用该方法时,它都会在指定线程而不是主线程上调用? (希望这是有道理的)。
背景:我正在研究一个事件处理程序对象,它将接收请求并将某个操作返回给调用者(通过“方法 A”)。然后,事件处理程序将接收到对该操作的多个单独响应,每个响应都将触发“方法 B”。处理程序应该等待“终端”的响应,然后才允许另一个请求进入。所以我想阻止任何传入的请求,直到我收到对当前正在处理的请求的响应的终端状态.
到目前为止的方法:我尝试过使用 CountDownLatch 但问题是当我在收到请求后阻塞方法 A 中的主线程时,根本不会调用方法 B,因为它是在我假设的同一个线程上调用的。
任何帮助将非常感激!
解决方案
是的,有一种方法可以做你想做的事。与您预期的方式略有不同,但您需要阅读一些内容。您需要的类是ThreadPoolExecutor。另外,看看类Executors
推荐阅读
- monaco-editor - 将元数据发送到 monaco completionProvider
- html - HTML 表格设计在 Outlook 上呈现不佳?
- node.js - 使用 n 切换节点版本
- casting - 在 Ada 中将地址拆分并转换为不同的整数
- python - ModuleNotFoundError:没有名为“sklearn.linear_model.base”的模块
- reactjs - 反应原生 AWS 放大背景图像
- python - 神经网络为数据集中的每个示例预测相同的答案序列
- postgresql - 在 postgresql 中,如何在 char 中保留空格
- python - FCM 推送通知在使用 Python 的 AWS Lambda 中不起作用
- variadic-functions - 帕斯卡可变数量的函数参数