Отримання змінної з іншого потоку

потоку

змінної

змінної

змінної

потоку

Я не зрозумію, ось функція з якої починається виконання потоку має бути виду

DWORD WINAPI func (LPVOID lpParam)

ну і ось припустимо є змінна

як мені тепер одержати її?

DWORD WINAPI func (LPVOID lpParam) Як я передам сюди? і як я її можу використати! А Якщо я припустимо тут її оголошу то як мені її використовувати MyClass b; > в наприклад тут: DWORD WINAPI func2 (LPVOID lpParam) як отримати сюди b? >

іншого

потоку

отримання

отримання

ще раз CreateThread можна використовувати ТІЛЬКИ якщо задіяно виключно win API - якщо десь у потоках використовується CRT - треба використовувати _beginthread, якщо використовується MFC - AfxBeginThread

змінної

Ну питання ж конкретне, невже ніхто не може написати такий код, який покаже на прикладі, як з одного потоку отримати змінну в іншу. Я про CreateThread читав, там є параметр, який передається в функцію початку потоку. Але він типу LPVOID, а MyClass до нього не наводиться, а навіть якщо доведеться, то як його отримати назад, передати параметр за посиланням, а як просто написати & перед ним? ну припустімо, а як привести MyClass до LPVOID? Що не видно, що я не розумію, важко витратити 5 хвилин і розписати код, який це зробить я його прочитаю і зрозумію. А про CreateTHread я читаю і того наскільки я знаю мову мені мало що зрозуміти. Або я щось читаю.

єдине на що треба звернути увагу – синхронізація доступу

Скільки разів говорити, що я не розумію, як це, приклад будь ласка.

І ще, зазвичай ти оголосив змінну і використовуєш, потік грубо кажучи це функція, що зазвичай у функції використовувати змінну оголошену поза,її туди потрібно передати, а як у функцію з якою починається виконання потоку передати змінну я ще раз кажу не можу розібратися, передавати потрібно змінну типу MyClass якщо хтось може допомогти.

отримання

іншого

не треба так нервувати, загальні змінні потоків не передаються з потоку в потік через lpParam, коли ці потоки вже запущені і працюють, натомість, загальні змінні створюються заздалегідь: або глобально (як у слід. прикладі), або за загальним покажчиком lpParam, який централізує доступ до змінних проекту.

перший - забороняє роботу з пермінною будь-яким іншим потокам другий - завершує роботу поточного потоку з пеерменною, дозволяючи з нею працювати іншим потокам synch - об'єкт синхронізації для змінної share

dark_religion, я рекомендую поки що працювати саме у такій парадигмі, як показано у прикладі, тобто. глобально розподіляти загальні змінні різних потоків.