无法在minecraft mod中创建非阻塞http请求

问题描述 投票:0回答:1

我正在创建一个需要向端点调用GET请求的mod。 我不关心任何结果,我只想要发送请求。

现在我正在使用

HttpClient httpClient = HttpClientBuilder.create().build();
HttpGet request = new HttpGet(url);

它会阻止。因为api需要一些时间才能做出回应并不好。

我看到有一个名为async-http-client的库,但是我无法将库添加到我的项目中。

我想我必须在我的mod中创建线程,但这对我来说看起来不是最好的解决方案,因为minecraft mods不应该创建新的线程。

是否有任何java包不关心响应?

java multithreading minecraft minecraft-forge
1个回答
0
投票

发送网络流量将一直阻止,直到它完成 - 没有办法解决这个问题。在这种情况下,创建一个新线程来完成该实际工作应该是完全正常的 - 线程将在大多数时间阻止(而不是浪费CPU资源)。

请注意,async-http-client将创建它自己的线程来完成它的工作,所以它无法解决这个限制。

© www.soinside.com 2019 - 2024. All rights reserved.