Форум для тех, кто программирует под Android
Anonymous
Независимо от того, параллельно ли вызовы в Okhttpclient?
Сообщение
Anonymous » 13 июл 2025, 07:55
У меня есть несколько потоков, которые работают одновременно, и некоторые из них должны запросить данные из Интернета. Нужно ли мне заботиться об синхронизации их доступа к Okhttpclient singleton?
Код: Выделить всё
...
Request request = new Request.Builder()
.url("http://hell.com/siners.txt")
.build();
client.newCall(request).enqueue(new Callback() {
@Override public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override public void onResponse(Call call, Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
// Some work in Thread1
}
}
< /code>
thread2 < /h4>
...
Request request = new Request.Builder()
.url("http://hell.com/slutList.txt")
.build();
client.newCall(request).enqueue(new Callback() {
@Override public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override public void onResponse(Call call, Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
// Some work in Thread2
}
}
Can Consing NewCall (). Enque () или newcall (). execute () быть потенциально опасным?
Подробнее здесь:
https://stackoverflow.com/questions/485 ... n-parallel
1752382508
Anonymous
У меня есть несколько потоков, которые работают одновременно, и некоторые из них должны запросить данные из Интернета. Нужно ли мне заботиться об синхронизации их доступа к Okhttpclient singleton?[code]... Request request = new Request.Builder() .url("http://hell.com/siners.txt") .build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { e.printStackTrace(); } @Override public void onResponse(Call call, Response response) throws IOException { try (ResponseBody responseBody = response.body()) { if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); // Some work in Thread1 } } < /code> thread2 < /h4> ... Request request = new Request.Builder() .url("http://hell.com/slutList.txt") .build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { e.printStackTrace(); } @Override public void onResponse(Call call, Response response) throws IOException { try (ResponseBody responseBody = response.body()) { if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); // Some work in Thread2 } } [/code] Can Consing NewCall (). Enque () или newcall (). execute () быть потенциально опасным? Подробнее здесь: [url]https://stackoverflow.com/questions/48532860/is-it-thread-safe-to-make-calls-to-okhttpclient-in-parallel[/url]