Количество потоков и номера потоков в Grand Central Dispatch - PullRequest
0 голосов
/ 16 марта 2010

Я использую C и Grand Central Dispatch для распараллеливания некоторых тяжелых вычислений.Как я могу получить количество потоков, используемых GCD?Также возможно ли узнать, в каком потоке в данный момент выполняется фрагмент кода?В основном я хотел бы использовать sprng (параллельные случайные числа) с несколькими потоками, и для этого мне нужно знать, какой идентификатор потока использовать (и, следовательно, какой поток используется).

1 Ответ

0 голосов
/ 12 мая 2010
  • так как каждый поток имеет свой цикл запуска, вы можете получить текущий цикл запуска с помощью CFRunLoopGetCurrent ()
  • или если вы используете AppKit [NSThread currentThread];
  • в NSThread вы можете добавить любой другой объект для совместного использования между вызовами в одном потоке, используя - (NSMutableDictionary *) threadDictionary
  • или вы можете работать с pthread API man pthread
...