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

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

1
Взаимодействие рисования потока
Я хотел бы нарисовать (пером и карандашом) взаимодействие нитей в UML-нотации. Я не настаиваю на UML, что должно сделать читатель. Я начал с диаграмм последовательности, но я не чувствую, что это лучший способ сделать это. Все время, были бы «инициаторы действия», приходящие из-за экрана, которые как бы ломали идею SSD. …

8
Какие уроки вы извлекли из проекта, который почти / фактически провалился из-за плохой многопоточности? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 6 лет назад . Какие уроки вы извлекли из проекта, который почти / фактически провалился …

2
Сколько сделать темы для использования?
Когда я (пере) собираю большие системы на настольном компьютере / ноутбуке, я советую makeиспользовать более одного потока для увеличения скорости компиляции, например: $ make -j$[ $K * $C ] Где $Cдолжен указать число ядер (которые мы можем предположить , чтобы быть числом с одной цифрой) машина имеет, а $Kто , …

2
Как безопасность потоков может быть обеспечена языком программирования, аналогичным тому, как в Java и C # обеспечивается безопасность памяти?
Java и C # обеспечивают безопасность памяти, проверяя границы массивов и разыменования указателей. Какие механизмы можно было бы внедрить в язык программирования, чтобы предотвратить возможность состояния гонки и тупиков?

2
Почему программисты определяют модели программирования для замены C / POSIX для параллелизма?
Поставщики новых компьютерных архитектур регулярно пытаются представить новые модели программирования, например, недавно CUDA / OpenCL для GPGPU, и заменяют C / POSIX в качестве интерфейса управления для параллелизма платформы. (Poss & Koening, AM3: на пути к аппаратному ускорителю Unix для многоядерных процессоров, 2015 г.) Почему разработчики архитектуры пытаются разработать новые …

1
Очередь сообщений для RTOS для микроконтроллеров
Я сейчас пишу ОСРВ для микроконтроллеров. Все написано на C ++ 11 - если кому-то интересно, а ссылка на репозиторий находится внизу. В настоящее время я пишу класс, который представляет собой простую очередь данных для передачи объектов между потоками (или между обработчиками прерываний и потоками или обработчиками прерываний и другими …

4
Разница между атомарной работой и безопасностью потока?
Из обсуждения, которое я видел, кажется, что атомарная работа и безопасность потоков - это одно и то же, но многие люди говорят, что они разные. Может кто-нибудь сказать мне разницу, если есть один?

1
Концептуально, что это значит, когда говорится, что каждый поток получает свой собственный стек?
Я читал Java Concurrency in Practice от Brian Goetz, и в разделе Confinement Stack упоминается, что каждый поток получает свой собственный стек, и поэтому локальные переменные внутренне ограничены исполняющим потоком; они существуют в стеке исполняющих потоков, который недоступен другим потокам. Что он имеет в виду, что каждый поток имеет свой …

3
Ищем распределенную схему блокировки
Мне нужно придумать собственный механизм рекурсивной блокировки объектов \ шаблон для распределенной системы в C #. По сути, у меня есть многоузловая система. Каждый узел имеет эксклюзивные разрешения на запись для n-го числа состояний. Такое же состояние также доступно в форме только для чтения, по крайней мере, на одном другом …

6
Используют ли потоки виртуальную память или реальную память?
Я пытался оптимизировать свой сервер Linux для обработки 10 000 потоков на процесс, в то время как сейчас он работает только с 382. Согласно этой статье, следующая формула используется для определения общего количества возможных потоков: number of threads = total virtual memory / (stack size*1024*1024) Это означает, что потоки хранят …

6
Почему темы называются потоками?
Я понимаю, что процесс единица владения ресурсами и исполняемые инструкции. Потоки позволяют процессу совместно использовать свои ресурсы с несколькими выполнениями, и для ОС проще планировать потоки из-за всех издержек, связанных с целыми процессами. Но почему название потока ? Есть ли какая-то ссылка на строку или чередование выполнения? Несмотря на это, …

1
Многие блокирующие VS одиночные неблокирующие работники
Предположим, что есть HTTP-сервер, который принимает соединения, а затем он каким-то образом ожидает полной отправки заголовков. Интересно, каков наиболее распространенный способ его реализации и каковы остальные плюсы и минусы. Я могу думать только об этом: Многие блокирующие работники хороши тем, что: Это более отзывчиво. Проще вводить новые соединения (работники выбирают …

3
IPC без блокировки в Linux для многоядерных процессоров
Я пытаюсь найти способ написать приложение с IPC без блокировки на Linux, в C, с многоядерными процессорами. Давайте предположим, что у меня есть процесс 1 и процесс 2, которые пишут в FIFO или разделяемую память. Затем процесс 3 и процесс 4 будут считываться из этой общей памяти или FIFO. Возможно …

6
Если я использую блокировки, может ли мой алгоритм оставаться без блокировки?
Распространенным определением без блокировки является то, что по крайней мере один процесс делает успехи. 1 Если у меня есть простая структура данных, такая как очередь, защищенная блокировкой, то один процесс всегда может прогрессировать, поскольку один процесс может получить блокировку, сделать то, что он хочет, и освободить ее. Так соответствует ли …

1
НИТИ: потоки ядра против потоков, поддерживаемых ядром, против потоков уровня пользователя?
Кто-нибудь знает, в чем разница между ними? Мне кажется, что потоки ядра соответствуют коду, который запускает ядро ​​(интуитивно), но я не уверен насчет двух других ... Кроме того, будет ли стандарт pthreads рассматриваться на уровне пользователя и поддерживаться ядром, поскольку вы обращаетесь к библиотеке, пока ядро ​​выполняет планирование / переключение …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.