Титла: Parallel Programing Публикувано от: sandman_7920 в Jan 14, 2009, 14:42 Имам въпрос който се отнася за thread.
Примера е следния struct SharedData{ char *buf; ......... ......... } SData; thread1-->write споделената памет thread2-->read споделената памет В този случай трябва ли да ползвам pthread_mutex_lock|pthread_mutex_unlock и ако да, достатъчно ли е да се ползва само в thread1 Титла: Re: Parallel Programing Публикувано от: Emooo в Jan 14, 2009, 15:05 http://en.wikipedia.org/wiki/Readers-writers_problem
Накратко отговора на 2та въпроса е ДА Титла: Re: Parallel Programing Публикувано от: sandman_7920 в Jan 14, 2009, 15:08 Благодарско.
Титла: Re: Parallel Programing Публикувано от: task_struct в Jan 14, 2009, 15:15 Мисля, че трябва да ги ползваш и в двете нишки. Защото ако се превключат нишките докато примерно thread1 пише и е написала само част от данните, то thread2 ще прочете само донякъде ъпдейтвани данни. Както и обратното thread2 да прочете стари дани, thread1 да ъпдейтне данните и thread2 да допрочете новите данни.
Титла: Re: Parallel Programing Публикувано от: Emooo в Jan 14, 2009, 16:14 Изках да кажа че трябва да локваш във всеки треад по всяко време, навсякъде
|