Сообщение 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" — возможно вызовет ошибку компиляции, т.к. не должно быть прямого обращения к мемберам класса внутри.
Глобальные функции, также как и статические — НЕ ЯВЛЯЮТСЯ ЧЛЕНАМИ КЛАССА.
Все особенности определяются именно данным моментом.
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, нужно!
RF>Здравствуйте, AlexGin, Вы писали:
AG>>Правильнее всего — НЕ завязываться на CWinThread (избыточен он для данной задачи), вызывать _beginthreadex либо AfxBeginThread.
AG>>ВАЖНО: и в том и в другом случае "функция, производящая математические вычисления" должна быть глобальной или же статической
RF>То есть если я функцию, которая производит вычисления, помечу как static, то её можно сделать потоковой? И есть ли в этом случае какие-то особенности по работе с такой функцией по сравнению с глобальными потоковыми функциями?
Пометить как "static" — возможно вызовет ошибку компиляции, т.к. не должно быть прямого обращения к мемберам класса внутри.
Глобальные функции, также как и статические — НЕ ЯВЛЯЮТСЯ ЧЛЕНАМИ КЛАССА.
Все особенности определяются именно данным моментом.
P.S. Здесь чуть выше, товарищ Евгений Скворцов — всё очень толково объяснил!
P.P.S. Книга Джеффри Рихтера: "Создание эффетивных Win-32 приложений..." — это то, что Вам, RussianFellow, нужно!