Я использую Intel TBB для создания параллельного сита Эратосфена. Я уже сделал это в MPI на языке C.
Итак, я хочу, чтобы мой первый поток (или задача?) Находил простое число, а затем передавал его другим потокам, чтобы все они могли «пересечь» это простое число из своей части массива.
Проблема: я не могу найти способ:
Обнаружить первый поток или задачу.
Заставьте других ждать, пока первый поток или задача не передадут свое простое число.
Я понял, как можно использовать сокращение и т. Д., Но не могу этого найти. Я нашел пример с очень быстрым алгоритмом Эратосфена, но там вообще нет синхронизации, а алгоритм другой, и мне нужно распараллелить этот точный алгоритм по умолчанию.
Заранее спасибо!