关于进程、线程的小问题

miaoshengwu 2007-01-04 01:55:01
现在知道如何创建一个进程,
如果我想加入自己的代码,
是用主进程创建子进程,
然后在子进程中加代码?
还是创建线程,然后在线程中加入自己的代码呢?

知道的兄弟姐妹给个例子好吧?

小弟对进程、线程的用法不是很了解。
...全文
309 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
miaoshengwu 2007-01-10
  • 打赏
  • 举报
回复
网上找到一些东西,
线程函数必须是全局函数或类的静态成员函数,
然而全局函数或类的静态成员函数是不可以调用如UpdateData(TRUE),GetDlgItem(IDC_EDIT1)等等函数的,这个我试过了,要是调用的话就会报错,编译通不过;而我想要的功能里却要用到譬如上面的函数,所以线程可能用不了了。呵呵……
不过还是要谢谢各位的热心帮忙。结帖.......
lxsshizishizi 2007-01-09
  • 打赏
  • 举报
回复
想要完整的例子到www.codeproject.com里下吗 很多啊

miaoshengwu 2007-01-09
  • 打赏
  • 举报
回复
小问题老是搞不定,用CreateThread时老是出问题(在CreateThread中调用func函数)。
一、我把static unsigned long __stdcall func(LPVOID lpParameter);放在类成员中,在func中调用自定义函数时,提示说自定义函数必须声明为static,为了使用一些如UpdateData(TRUE);等功能,不能把函数声明为静态的。
二、如果把static unsigned long __stdcall func(LPVOID lpParameter);放在类外声明,自定义函数也必须跟着声明为全局函数,不然会提示Undeclared identifier,这样仍然使用不了如UpdateData(TRUE);等功能。

现在的问题是:能用线程调用自定义函数,并且自定义函数能使用如UpdateData(TRUE);GetDlgItem(IDC_EDIT1);等功能,该怎样实现呢?困扰好久了,以前没搞过线程,所以这方面知道的也不是太多,希望知道的指导一下或提供一个简单的例子也行。谢谢啦!(如分数不够的话,可以另开帖加分,呵呵……)
miaoshengwu 2007-01-08
  • 打赏
  • 举报
回复
有知道的朋友来指导一下,谢谢啦!
JonathanS666 2007-01-08
  • 打赏
  • 举报
回复
线程间通信要比进程间通信高效
qwertxp 2007-01-08
  • 打赏
  • 举报
回复
楼主可以圆满了,楼主自定义的函数要么先实例化,要么定义成static的。根据错误提示改改不就完了。
miaoshengwu 2007-01-08
  • 打赏
  • 举报
回复
试过了,不行.劳烦高手给个最简单的用线程调用自定义函数的例子,谢谢啦!
liuxs75 2007-01-08
  • 打赏
  • 举报
回复
加入自定义的函数,要在定义dowith函数的那个文件中定义或者声明。
miaoshengwu 2007-01-06
  • 打赏
  • 举报
回复
用了grf9527(飞鱼) 的方法后,确实不报错,可是如果我在
DWORD WINAPI CsendmessageDlg::dowith(LPVOID lpParameter)
{
return 0;
}
中加入代码的话,会提示一大堆的错误.
比如:我在上面函数中加加一个自定义函数fun();,
会提示illegal call of non-static member function
什么原因呢?
miaoshengwu 2007-01-05
  • 打赏
  • 举报
回复
请问:如果我想把自己的代码加到线程当中去,怎样加呢?
网上找了些例子,有些东西不大懂,
X_worm(大盗) 可否给个明了一点的例子参考一下?谢了!
zctom23 2007-01-05
  • 打赏
  • 举报
回复
经鉴定 飞鱼 方法可行
grf9527 2007-01-05
  • 打赏
  • 举报
回复
郁闷
最早一个技术网站现在由于管理的问题,导致大量的用户流失,可惜了。

开一个线程,然后在线程里面加自己的代码。
static DWORD WINAPI dowith( LPVOID lpParameter );
这个函数声明文件
CreateThread(NULL,0,dowith,this,0,0);
开线程
DWORD WINAPI CsendmessageDlg::dowith(LPVOID lpParameter)
{

return 0;
}
miaoshengwu 2007-01-05
  • 打赏
  • 举报
回复
进程、线程方面的东西知道的人很少吗?
为什么没有人来指导一下呢?
X_worm 2007-01-04
  • 打赏
  • 举报
回复
创建进程的开销要远比创建线程的开销大和不利于控制。除非不得已,否则还是用线程的好。速度快,灵活性又高。
miaoshengwu 2007-01-04
  • 打赏
  • 举报
回复
本版人气不是很旺啊?呵呵……

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧