本来是单线程读txt的,不知道怎么改成多线程,
1,最好有个完成的,或则类似的例子~
2,AfxBeginThread里第一个参数必须是static吗?
我后来自己乱试的时候发现static里执行别的函数似户有问题
static函数里只能执行static的函数?
3,AfxBeginThread第2个参数给第1个参数传递参数
UINT CThreadDlg::ThreadFunc(LPVOID pParam)
可我想传递多个参数,怎么传啊?可以这样吗?
UINT CThreadDlg::ThreadFunc(CString a,CString b,LPVOID pParam)
问题有点多,不好意思这是我原本单现成的代码:
OnButton1
{
FILE* fp;
fp=fopen(strdic,"rb"); //读 char *x=new char[100];
char *y=new char[100];
while(!feof(fp))
{
memset(x,0,100);
fgets(x,100,fp);
//执行别的函数 .......... }
delete(x);
delete(y); fclose(fp);
}
1,最好有个完成的,或则类似的例子~
2,AfxBeginThread里第一个参数必须是static吗?
我后来自己乱试的时候发现static里执行别的函数似户有问题
static函数里只能执行static的函数?
3,AfxBeginThread第2个参数给第1个参数传递参数
UINT CThreadDlg::ThreadFunc(LPVOID pParam)
可我想传递多个参数,怎么传啊?可以这样吗?
UINT CThreadDlg::ThreadFunc(CString a,CString b,LPVOID pParam)
问题有点多,不好意思这是我原本单现成的代码:
OnButton1
{
FILE* fp;
fp=fopen(strdic,"rb"); //读 char *x=new char[100];
char *y=new char[100];
while(!feof(fp))
{
memset(x,0,100);
fgets(x,100,fp);
//执行别的函数 .......... }
delete(x);
delete(y); fclose(fp);
}
解决方案 »
- [高手来看]ActiveX控件封装Doc/View,IE连续打开多个ocx之后崩溃
- 【求助】关于TXT读取问题,谢谢大家了
- 提供一个支持多线程呢个FTP下载的网站。或者告诉我FTP多线程怎么发报文,谢谢
- 编写实时获取摄像头的图象并显示在对话框上应用到哪些函数库
- ************ COM事件响应求助!!1
- 散下分,老爸要去美国,想让他买点书杂志什么的,大家能不能推荐点经典的
- 如何让程序只能运行一个实例?
- 1000元,买一段源码!!!
- 请问如何将整型转换成字符串
- 关于罗云彬,我要说几句!
- 如何在VC中的一个主窗体中的一个按键启动另一个窗体
- 静态拆分,如何让CFormView里面的对话框充满CFormView的大小
{
CreateThread(NULL,NULL,ThreadProc,NULL,NULL);
}
UINT ThreadProc(LPVOID p)
{
FILE* fp;
fp=fopen(strdic,"rb"); //读char *x=new char[100];
char *y=new char[100];
while(!feof(fp))
{
memset(x,0,100);
fgets(x,100,fp);
//执行别的函数 ..........}
delete(x);
delete(y);fclose(fp);
}
看MSDN嘛CWinThread* AfxBeginThread(
AFX_THREADPROC pfnThreadProc,
LPVOID pParam,
int nPriority = THREAD_PRIORITY_NORMAL,
UINT nStackSize = 0,
DWORD dwCreateFlags = 0,
LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL
);
CWinThread* AfxBeginThread(
CRuntimeClass* pThreadClass,
int nPriority = THREAD_PRIORITY_NORMAL,
UINT nStackSize = 0,
DWORD dwCreateFlags = 0,
LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL
);例子:
CWinThread pWinThread = NULL;
UINT ReadFileThread(LPVOID pParam)
{...
}pWinThread = AfxBeginThread(ReadFileThread, &Param, THREAD_PRIORITY_NORMAL, 0, 0, NULL);
里面执行的函数必须是 static 函数
而且我原本定义的 CListBox m_list在ThreadFunc里也提示
must have class/struct/union type
谁能给个完整的例子吗?
最好能下载的!!!