Reputation: 19
I have threads in my application that wait on condition variable. When the codition is good thread starts to work and reads some data. My data is global variable. Is it possible pass data on runtime without using global data? I read something about specific data but i don't know if it is useful in this case. Thank you!
Upvotes: 0
Views: 215
Reputation: 104698
Yes, you can pass this to your thread routine: pthread_create(thread, attr, function, *USER_ARG*)
. Simply create a struct for the data you need for the thread to execute.
Where *USER_ARG*
is stored in memory is important, you will often want to use the free store (malloc
it) for the argument, otherwise you may corrupt the stack of the thread which called pthread_create
.
Upvotes: 1