Вопросы с тегом «multithreading»

Вопросы, связанные с многопоточностью, включая технику, структуру и вопросы безопасности.

7
Существуют ли устаревшие методы многопоточного и многопроцессорного программирования, которые я больше не должен использовать?
В первые дни FORTRAN и BASIC, по существу, все программы были написаны с заявлениями GOTO. Результатом стал код спагетти, а решение - структурированное программирование. Точно так же указателям может быть сложно контролировать характеристики в наших программах. C ++ начинался с множества указателей, но использование ссылок рекомендуется. Такие библиотеки, как STL, …

2
Может ли кто-то объяснить простыми словами, что такое разрушитель?
Я хотел бы, чтобы вы могли объяснить мне простым способом, как работает скороговорка. Эта концепция была неуловима для меня, как известно. Возможно, с вашей помощью я мог бы понять это.

3
Почему не зеленые нити?
Хотя я знаю, что вопросы по этому вопросу уже были рассмотрены (например, https://stackoverflow.com/questions/5713142/green-threads-vs-non-green-threads ), я не чувствую, что получил удовлетворительный ответ , Вопрос в том, почему JVM больше не поддерживает зеленые потоки? Об этом говорится в Java-коде в стиле кода : Зеленый поток относится к режиму работы виртуальной машины Java …

6
Как бы вы практиковали параллелизм и многопоточность? [закрыто]
Я читал о параллелизме, многопоточности и о том, как «бесплатный обед закончился» . Но у меня еще не было возможности использовать МТ в своей работе. Таким образом, я ищу предложения о том, что я мог бы сделать, чтобы получить некоторую практику CPU MT с помощью упражнений или участия в некоторых …

3
GCC умирает без поддержки потоков в Windows? [закрыто]
Мне нужно мнение. GCC всегда был очень хорошим компилятором, но в последнее время он теряет «привлекательность». Я только что обнаружил, что в Windows GCC нет std::threadподдержки, заставляющей пользователей Windows использовать другой компилятор, потому что самая захватывающая функция все еще отсутствует. Но почему на самом деле GCC до сих пор не …

8
Когда вам понадобятся «сотни тысяч» тем?
Erlang, Go и Rust так или иначе заявляют, что поддерживают параллельное программирование с дешевыми «потоками» / сопрограммами. В Go Справка гласит: Целесообразно создавать сотни тысяч подпрограмм в одном и том же адресном пространстве. Rust Учебник говорит: Поскольку задачи значительно дешевле в создании, чем традиционные потоки, Rust может создавать сотни тысяч …

2
Ложное объяснение пробуждений звучит как ошибка, которую просто не стоит исправлять, верно?
Согласно статье в Википедии о ложных пробуждениях msgstr "поток может быть выведен из состояния ожидания, даже если ни один из потоков не сигнализировал об условной переменной". Хотя я знаю об этой «функции», я никогда не знал, что на самом деле вызвало ее, пока, в той же статье «Ложные пробуждения могут …

11
Изведены многопоточными ошибками
В моей новой команде, которой я управляю, большая часть нашего кода - это платформа, сокет TCP и код сети http. Все на С ++. Большая часть этого произошла от других разработчиков, которые покинули команду. Нынешние разработчики в команде очень умные, но в основном младшие с точки зрения опыта. Наша самая …

3
UML-диаграммы многопоточных приложений
Для однопоточных приложений мне нравится использовать диаграммы классов, чтобы получить представление об архитектуре этого приложения. Этот тип диаграммы, однако, не очень помог при попытке понять многопоточные / параллельные приложения, например, потому что разные экземпляры класса «живут» в разных потоках (то есть доступ к экземпляру сохраняется только из одного нить это …

7
Что вы ищете при отладке тупиков?
Недавно я работал над проектами, которые интенсивно используют многопоточность. Я думаю, что я в порядке при разработке их; максимально использовать дизайн без сохранения состояния, блокировать доступ ко всем ресурсам, которые нужны более чем одному потоку, и т. д. Мой опыт в функциональном программировании очень помог. Однако, читая чужой кодовый поток, …

4
Что предотвращает состояние гонки на замке?
Я понимаю основы того, что такое гонки данных, и как блокировки / мьютексы / семафоры помогают предотвратить их. Но что произойдет, если у вас будет «состояние гонки» на самом замке? Например, два разных потока, возможно, в одном приложении, но работающие на разных процессорах, пытаются получить блокировку в одно и то …

10
Конечные автоматы против потоков
Алан Кокс однажды сказал: «Компьютер - это конечный автомат. Потоки предназначены для людей, которые не могут программировать конечные автоматы». Поскольку прямое обращение к Алану - это не вариант для меня, я бы предпочел спросить: как можно достичь многопоточности в языке высокого уровня, например Java, используя только один поток и конечный …

6
Многопоточность: я делаю это неправильно?
Я работаю над приложением, которое играет музыку. Во время воспроизведения часто вещи должны происходить в отдельных потоках, потому что они должны происходить одновременно. Например, ноты аккорда должны быть услышаны вместе, поэтому каждой из них назначается собственный поток для воспроизведения. (Изменить, чтобы уточнить: вызов note.play()останавливает поток, пока не закончится воспроизведение ноты, …

3
Почему многопоточность часто предпочтительнее для повышения производительности?
Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 7 лет назад . У меня вопрос, почему программисты любят параллельные и многопоточные программы вообще. Я рассматриваю 2 основных подхода: асинхронный подход, основанный в основном на сигналах, или просто асинхронный подход, …

9
Вопрос о многопоточном синхронизации: найдите n слов по заданным m темам
Есть ли способ, которым эта проблема могла бы выиграть от решения с несколькими потоками, а не с одним потоком? В одном из интервью мне было предложено решить проблему, используя несколько потоков. Мне кажется, что несколько потоков не приносит никакой пользы. Вот проблема: Вам дан абзац, содержащий n слов, вам дано …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.