Size: a a a

2021 July 02

RM

Roy Mustang in C++ Together 2.0
Хотя погодите ка, либо я пьян
источник

RM

Roy Mustang in C++ Together 2.0
да это я пьян
источник

RM

Roy Mustang in C++ Together 2.0
Деструкторы же в обратном порядке вызываются
источник

RM

Roy Mustang in C++ Together 2.0
Значит все нормуль
источник

RM

Roy Mustang in C++ Together 2.0
вот так выглядит моя порнуха тред пуловая
источник

RM

Roy Mustang in C++ Together 2.0
Короче, логика такая
источник

RM

Roy Mustang in C++ Together 2.0
В конструкторе мы создаем потоке и они сразу начинают вызывать Worker метод
В этом методе мы используем мьютекс чтоб все остальные потоки ждали, пока один поток не вытащит задачу и не съебется в свояси
источник

RM

Roy Mustang in C++ Together 2.0
Очередь у нас SPSC, так что проход по талонам
источник

RM

Roy Mustang in C++ Together 2.0
И condition var не нужен, что думаете?
источник

RM

Roy Mustang in C++ Together 2.0
Execute метод перегружен виртуально, так что метод Execute в JobPool будет другой, там Callback будет возвращать значение результатирующее
источник

RM

Roy Mustang in C++ Together 2.0
че то какая та простая реализация
источник

RM

Roy Mustang in C++ Together 2.0
Вообще не уверен, что тред пул может состоять из 60 строк кода, хмм
источник

RM

Roy Mustang in C++ Together 2.0
Надо тестануть
источник

RM

Roy Mustang in C++ Together 2.0
Прикол вот в чем, таким способом я полностью отделяю логику тред пула от кода Job System и Task Scheduler
источник

RM

Roy Mustang in C++ Together 2.0
Job System уже внутри себя будет реализовывать приоритеты и прочую шляпу, а в Update скармливать задачи тред пулу и вытаскивать результаты
источник

RM

Roy Mustang in C++ Together 2.0
Че все померли что ли
источник

VM

Vladimir M88 in C++ Together 2.0
да
источник

RM

Roy Mustang in C++ Together 2.0
источник

RM

Roy Mustang in C++ Together 2.0
Вот такая тема короче
источник

ДЖ

Дима Жигальов... in C++ Together 2.0
источник