读书人

工程初始化时不知道需要多少个线程,怎

发布时间: 2012-03-02 14:40:28 作者: rapoo

工程初始化时不知道需要多少个线程,如何在程序中根据需要创建N个线程?
工程初始化时不知道需要多少个线程,如何在程序中根据需要创建N个线程?

[解决办法]
用一个全局的HANDLE数组保存
[解决办法]
用线程池管理
[解决办法]

探讨
用一个全局的HANDLE数组保存

[解决办法]
使用数组啊……例如有N个COM端口,就可以 HANDLE *phCom = new HANDLE[N];

使用循环依次打开N个COM口
for(int i=0; i<N; i++)
{
(*(phCom+i)) = CreateFile( COM3,
GENERIC_READ | GENERIC_WRITE,
0,NULL,OPEN_EXISTING,0,NULL);
}

使用循环依次创建线程N个工作线程
HANDLE *phThread = new HANDLE[N]; // 保存线程指针
for(int j=0; j<N; j++)
{
(*(phThread +j)) = CreateThread(...);
}
[解决办法]
for(int i=0; i<N; i++)
{
(*(phCom+i)) = CreateFile( COM3, // 这句有问题,……。COM3改为当前COM名称。
GENERIC_READ | GENERIC_WRITE,
0,NULL,OPEN_EXISTING,0,NULL);
}

[解决办法]
线程池
[解决办法]
up

读书人网 >VC/MFC

热点推荐