185 похожих чатов

Посоны, а барьер - это примитив синхронизации или что? встречаю

упоминания что это примитив

13 ответов

64 просмотра

Да, оно самое

https://en.wikipedia.org/wiki/Barrier_(computer_science)

Киану-Ривз Автор вопроса
Крокант
https://en.wikipedia.org/wiki/Barrier_(computer_sc...

вроде не написано что это примитив. а написано что метод) вопрос больше по терминологии у меня

Киану Ривз
вроде не написано что это примитив. а написано что...

Окей, рассказываю подробнее(лично как я с этим встречался в Vulkan API). Как примитив это работает так: Есть например 2 потока, один грузит текстуру с диска, второй её рендерит. Очевидно, второй не может запуститься пока не будет завершён первый. Устанавливается барьер, в котором указано, что второй поток должен запуститься только после первого. На самом деле там чуть-чуть более гибкая система, где у потоков могут быть "этапы", и разные потоки ждут пока их соседи достигнут каких либо этапов. Именно такую систему и описывает барьер.

Киану Ривз
вроде не написано что это примитив. а написано что...

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

Крокант
Окей, рассказываю подробнее(лично как я с этим вст...

это, имхо, не те барьеры, это скорее барьеры из gapi, они несколько другие

disba1ancer
это, имхо, не те барьеры, это скорее барьеры из ga...

Ну не знаю, возможно есть и другие, но мне кажется они примерно одной сути

Крокант
Ну не знаю, возможно есть и другие, но мне кажется...

у тебя барьеры есть в плюсах: atomic_thread_fence

Boris Vinogradov
ага ага

т.е. я всё верно сказал?

Киану-Ривз Автор вопроса
Крокант
https://en.wikipedia.org/wiki/Barrier_(computer_sc...

и изначально про этот барьер вроде и говорилось. есть барьер, а есть барьер памяти - разные вещи как я понял

Киану Ривз
и изначально про этот барьер вроде и говорилось. е...

важно различать то что ставит треды на одной стартовой очереди и то что синхронизирует операции в памяти

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта