c++ - 如何将运行时类传递给 AfxBeginThread
问题描述
Class A
{
method1()
{
m_GetDataThread = AfxBeginThread(B::method2, RUNTIME_CLASS, THREAD_PRIORITY_BELOW_NORMAL, 1 << 20, STACK_SIZE_PARAM_IS_A_RESERVATION);
}
}
Class B
{
method2()
{
----------
}
}
在这里,如果 RUNTIME_CLASS 是 A 类,我可以通过它来代替 RUNTIME_CLASS 但在上述情况下如何通过 B 类?
解决方案
AfxBeginThread
有两个重载,一个采用函数或静态方法,另一个采用运行时类,它们是互斥的。this
并且没有一个采用非静态方法(并且几乎不存在这样的函数)RUTNIME_CLASS
宏将类名作为参数,所以你问的问题不是问题。- 2020 年是否必须使用 MFC 是可以理解的,但无论如何不明白为什么 2020 年新代码必须使用 MFC 线程工具。考虑一下
std::thread
,,std::async
或者至少直接_beginthreeadex
/CreateThread
推荐阅读
- python - 如何解决来自pyright的“类型部分未知”警告?
- java - Kafka adminClient 抛出 TimeoutException
- c# - 回发后如何保留文本框值?
- python - Python Launcher 运行脚本,其中包含尚未安装的库。IDLE 无法运行脚本
- c++ - 为什么没有使用或忽略具有右值引用的构造函数?
- java - 在抽象类中标记为最终的事务性公共方法在spring jpa中不起作用
- python-3.x - 如何删除列表中多次出现的所有元素?
- python - Series 上的字符串操作
- php - 图像未从 longblob 类型的数据库中显示
- c# - 具有 DependencyService 的 Android 设备日历不起作用