multithreading ×13
Создан 05.01.2025
0
голоса
5
ответов
6
просмотров
Почему методы wait() и notify() объявлены в классе Object в Java?

Почему методы wait() и notify() объявлены в классе Object, а не в классе Thread?

0
голоса
4
ответов
0
просмотров
Когда следует использовать поток Java вместо Executor?

Executor выглядит как чистая абстракция для управления потоками. В каких ситуациях имеет смысл использовать Thread напрямую, вместо того чтобы полагаться на более надежный Executor?

0
голоса
1
ответов
1
просмотров
Как распределяются потоки для обработки запросов Servlet?

Подскажите, пожалуйста, что такое "поток на запрос" и "поток на соединение"? На какой модели работают сервлеты? Как выделяются потоки для обработки HTTP-запросов? Это один поток на запрос или на соединение?

Допустим, я хочу выполнить долгий по времени процесс в методе doGet() моего Servlet...

5
голоса
5
ответов
11
просмотров
Разница между интерфейсами Runnable и Callable в Java

Разница между Runnable и Callable в Java при проектировании многопоточности

Я работаю над проектом на Java, в котором требуется реализовать многопоточность, и столкнулся с выбором между использованием интерфейсов Runnable и Callable. Можете пояснить, в чем основные различия между этими двумя...

5
голоса
5
ответов
15
просмотров
Таймаут при вызове функции

Я вызываю функцию в Python, которая может зависнуть и заставить меня перезапустить скрипт.

Как можно вызвать эту функцию или в что её обернуть, чтобы если выполнение займет больше 5 секунд, скрипт отменил её выполнение и выполнил что-то другое?

5
голоса
5
ответов
14
просмотров
Программно определить количество ядер на машине

Существует ли способ определить количество ядер у машины с помощью C/C++ в независимом от платформы формате? Если такого способа не существует, можно ли узнать это отдельно для каждой платформы (Windows/*nix/Mac)?

6
голоса
5
ответов
32
просмотров
Как получить возвращаемое значение из потока?

У меня есть функция foo, которая возвращает строку 'foo'. Я пытаюсь получить значение 'foo', которое возвращается из целевой функции потока. Вот мой код:

from threading import Thread

def foo(bar): print('hello '.format(bar)) return 'foo'

thread = Thread(target=foo,...

9
голоса
3
ответов
53
просмотров
Что такое потокобезопасность и непотокобезопасность в PHP?

Я увидел разные бинарные файлы для PHP, такие как "non-threaded" и "thread safe".

Что это означает?

В чем разница между этими пакетами?

11
голоса
5
ответов
50
просмотров
Что значит 'synchronized'?

Я столкнулся с несколькими вопросами относительно использования и значимости ключевого слова synchronized в Java.

Каково значение ключевого слова synchronized? Когда следует использовать synchronized для методов? Что это означает как с программной, так и с логической точки зрения?

13
голоса
5
ответов
39
просмотров
Разница между "wait()" и "sleep()" в Java

Вопрос: В чем разница между методами wait() и sleep() в потоках?

Я хочу разобраться в различиях между wait() и sleep() в контексте работы с потоками в Java.

На мой взгляд, поток, находящийся в состоянии wait(), остаётся в режиме выполнения и использует процессорные циклы, тогда как...

10
голоса
5
ответов
38
просмотров
Как завершить поток в Java?

Можно ли завершить работающий поток, не устанавливая и не проверяя какие-либо флаги, семафоры и т.д.?

12
голоса
5
ответов
36
просмотров
Как работают сервлеты? Инстанцирование, сессии, общие переменные и многопоточность

У меня есть веб-сервер, который содержит множество сервлетов. Для передачи информации между этими сервлетами я устанавливаю переменные сессии и экземпляров.

Теперь, если 2 или более пользователей отправляют запросы на этот сервер, что происходит с переменными сессии? Будут ли они общими для всех...

23
голоса
3
ответов
45
просмотров
"implements Runnable" против "extends Thread" в Java: что выбрать?

Я столкнулся с вопросом о том, как в Java реализовать потоки, и нашел два способа их создания:

  1. С использованием интерфейса Runnable:
public class MyRunnable implements Runnable {
    public void run() {
        // Код потокa
    }
}
// Запускается с помощью вызова "new Thread(new...