Передать номер потока каждому потоку
Хочу передавать функции в качестве параметра номер потока, которому она принадлежит. Можно ли делать это так?
for (int i = 0; i < THREADS_NUM; ++i) {
pthread_create(&threads_arr[i], NULL, foo, &i);
}
Или указатель на номер должен жить всё время жития потока и поэтому надо сделать отдельный массив 0,1,...,THREAD_NUM-1? Или есть другие способы?