Próbuję przekazać dwa parametry do wątku w C. Stworzyłem tablicę (o rozmiarze 2) i próbuję przekazać tę tablicę do wątku. Czy jest to właściwe podejście do przekazywania wielu parametrów do wątku?Jak przekazać wiele parametrów do wątku w C
// parameters of input. These are two random numbers
int track_no = rand()%15; // getting the track number for the thread
int number = rand()%20 + 1; // this represents the work that needs to be done
int *parameters[2];
parameters[0]=track_no;
parameters[1]=number;
// the thread is created here
pthread_t server_thread;
int server_thread_status;
//somehow pass two parameters into the thread
server_thread_status = pthread_create(&server_thread, NULL, disk_access, parameters);
Sprawdź swój kod deklarują tablicę wskaźników na int i przypisanie ich wartości int. – Teudimundo
Zauważyłem to ostrzeżenie. Czy byłoby uzasadnione, gdyby parametry nie były wskaźnikami i po prostu tablicą? –
jeśli zadeklarujesz parametr jako tablicę int ("int parameter [2];"), możesz przekazać parametr jako wskaźnik. Jest to wskaźnik do pierwszej int. Możesz wtedy uzyskać do niego dostęp z wątku jako tablicę. – Teudimundo