Передача аргумента через pthread_create - PullRequest
0 голосов
/ 29 ноября 2018

Я пытаюсь создать несколько потоков, которые будут работать одновременно и работать с общим буфером.Когда я создаю потоки, я не понимаю, что передается каждому потоку при создании.

Допустим, буфер объявлен в main () как:

int buffer[10];

Когда я создаювсе потоки, использующие:

for(i = 0; i < 10; i++){
     pthread_create(&tid[i], NULL, thread_function, &buffer);
}

Будут ли они все использовать один и тот же буфер в main ()?например, когда один поток что-то изменяет в буфере, будет ли он изменен для всех потоков?

Это цель, я пытаюсь, чтобы все потоки модифицировали один и тот же буфер, и мне было интересно, если это такдолжны это сделать.

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

Спасибо за помощь!

...