Информация об изменениях

Сообщение Re[3]: Работа с потоками (threads) в MFC от 30.12.2016 9:46

Изменено 30.12.2016 9:51 AlexGin

Здравствуйте, RussianFellow, Вы писали:

RF>Здравствуйте, AlexGin, Вы писали:


AG>>Правильнее всего — НЕ завязываться на CWinThread (избыточен он для данной задачи), вызывать _beginthreadex либо AfxBeginThread.

AG>>ВАЖНО: и в том и в другом случае "функция, производящая математические вычисления" должна быть глобальной или же статической

RF>То есть если я функцию, которая производит вычисления, помечу как static, то её можно сделать потоковой? И есть ли в этом случае какие-то особенности по работе с такой функцией по сравнению с глобальными потоковыми функциями?


Пометить как "static" — возможно вызовет ошибку компиляции, т.к. не должно быть прямого обращения к мемберам класса внутри.
Глобальные функции, также как и статические — НЕ ЯВЛЯЮТСЯ ЧЛЕНАМИ КЛАССА.
Все особенности определяются именно данным моментом.
Re[3]: Работа с потоками (threads) в MFC
Здравствуйте, RussianFellow, Вы писали:

RF>Здравствуйте, AlexGin, Вы писали:


AG>>Правильнее всего — НЕ завязываться на CWinThread (избыточен он для данной задачи), вызывать _beginthreadex либо AfxBeginThread.

AG>>ВАЖНО: и в том и в другом случае "функция, производящая математические вычисления" должна быть глобальной или же статической

RF>То есть если я функцию, которая производит вычисления, помечу как static, то её можно сделать потоковой? И есть ли в этом случае какие-то особенности по работе с такой функцией по сравнению с глобальными потоковыми функциями?


Пометить как "static" — возможно вызовет ошибку компиляции, т.к. не должно быть прямого обращения к мемберам класса внутри.
Глобальные функции, также как и статические — НЕ ЯВЛЯЮТСЯ ЧЛЕНАМИ КЛАССА.
Все особенности определяются именно данным моментом.

P.S. Здесь чуть выше, товарищ Евгений Скворцов — всё очень толково объяснил!
P.P.S. Книга Джеффри Рихтера: "Создание эффетивных Win-32 приложений..." — это то, что Вам, RussianFellow, нужно!