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





Я не зрозумію, ось функція з якої починається виконання потоку має бути виду
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, я рекомендую поки що працювати саме у такій парадигмі, як показано у прикладі, тобто. глобально розподіляти загальні змінні різних потоків.