multithreading ×26
Создан 05.01.2025
23
голоса
3
ответов
115
просмотров
"implements Runnable" против "extends Thread" в Java: что выбрать?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

from threading import Thread

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

thread = Thread(target=foo,...

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

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

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

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

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

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

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

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

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

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

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

0
голоса
5
ответов
101
просмотров
Почему методы wait() и notify() объявлены в классе Object в Java?

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

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

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

0
голоса
3
ответов
81
просмотров
Следует ли использовать отдельные экземпляры ScriptEngine и CompiledScript для каждого потока?

Проблема с многопоточностью при использовании Java Scripting API и Nashorn:

Я использую Java Scripting API в своей программе и могу одновременно выполнять некоторые скрипты. Скрипты не используют общие объекты скриптов,Bindings или Context, но могут использовать одни и те же объекты...

0
голоса
3
ответов
80
просмотров
Что такое бес блокировочное многопоточное программирование?

Я заметил, что многие люди, статьи и посты на Stack Overflow утверждают, что разработали свои собственные "безлоковые" контейнеры для многопоточного использования. Предполагая, что они не использовали прием с модулем, который может негативно сказаться на производительности (то есть каждый поток...

0
голоса
3
ответов
74
просмотров
Что делает SwingUtilities.invokeLater?

Описание проблемы

У меня возникли вопросы по поводу работы метода SwingUtilities.invokeLater в Java. Что именно делает этот метод? Он просто задерживает выполнение блока кода внутри своего метода run? В чем разница между вызовом действия внутри функции invokeLater и простым вызовом этого...

0
голоса
4
ответов
74
просмотров
SwingUtilities.invokeLater: Вызов кода в потоке событий Swing

У меня возник вопрос, касающийся SwingUtilities.invokeLater. Когда следует его использовать? Нужно ли применять его каждый раз, когда я обновляю компоненты GUI? Что именно он делает? Существует ли альтернатива, так как это не кажется интуитивно понятным и добавляет, по всей видимости, ненужный код?

0
голоса
5
ответов
89
просмотров
Что нужно знать при погружении в многопоточное программирование на C++

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

0
голоса
5
ответов
68
просмотров
Как запустить/остановить/перезапустить поток в Java?

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

У меня есть класс Task, который реализует интерфейс Runnable и находится в файле Task.java. Моему основному приложению необходимо запускать этот таск в потоке, останавливать (убивать) поток при...

0
голоса
4
ответов
3503
просмотров
Анимации могут выполняться только на потках Looper в Android

Я пытаюсь анимировать элемент после завершения задачи, но сталкиваюсь с ошибкой:

android.util.AndroidRuntimeException: Animators may only be run on Looper threads
   at android.animation.ValueAnimator.cancel(ValueAnimator.java:1004)
   at...