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

11
Взаимодействие рисования потока

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

11
Как предотвратить одновременную регистрацию двух пользователей с одинаковым именем пользователя?

Мы не можем сериализовать регистрации, поскольку одновременно регистрируются миллионы пользователей. Параллельные регистрации должны произойти. Допустим, база данных не содержит имя пользователя 'user1'. Когда два пользователя пытаются зарегистрироваться одновременно с 'user1', он примет это. Но...

11
Сколько сделать темы для использования?

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

10
Почему программисты определяют модели программирования для замены C / POSIX для параллелизма?

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

10
Как безопасность потоков может быть обеспечена языком программирования, аналогичным тому, как в Java и C # обеспечивается безопасность памяти?

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

10
Ищем распределенную схему блокировки

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

10
Используют ли потоки виртуальную память или реальную память?

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

10
Концептуально, что это значит, когда говорится, что каждый поток получает свой собственный стек?

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

10
Очередь сообщений для RTOS для микроконтроллеров

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

9
Если я использую блокировки, может ли мой алгоритм оставаться без блокировки?

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

9
Почему темы называются потоками?

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

9
IPC без блокировки в Linux для многоядерных процессоров

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

9
НИТИ: потоки ядра против потоков, поддерживаемых ядром, против потоков уровня пользователя?

Кто-нибудь знает, в чем разница между ними? Мне кажется, что потоки ядра соответствуют коду, который запускает ядро ​​(интуитивно), но я не уверен насчет двух других ... Кроме того, будет ли стандарт pthreads рассматриваться на уровне пользователя и поддерживаться ядром, поскольку вы обращаетесь к...

9
Многие блокирующие VS одиночные неблокирующие работники

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