fangps
驱动牛犊
驱动牛犊
  • 注册日期2004-05-31
  • 最后登录2004-12-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1858回复:3

问一个C++ Builder中多线程调用的问题???

楼主#
更多 发布于:2004-06-14 20:08
我在C++ Builder中用Thread类创建一个新线程,但我不知道怎么调用它,那位能指点一下

另外,在C++ Builder中,好象实现多线程的方法很多,如beginThread和CreatThread函数好像多行

因此希望那位能指点一下其中一种就行了(如果多种方式都指点最好了,呵呵),我只要生成新线程在调用,呵呵
希望最好讲解的时候带点代码,谢谢
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-06-15 08:30
其实线程不是很难理解,
在主线程中调用CreateThread建立线程,定义如下:
HANDLE CreateThread(
  LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD
  DWORD dwStackSize,                        // initial stack size
  LPTHREAD_START_ROUTINE lpStartAddress,    // thread function
  LPVOID lpParameter,                       // thread argument
  DWORD dwCreationFlags,                    // creation option
  LPDWORD lpThreadId                        // thread identifier
);

然后再自己编写线程函数就可以了

DWORD WINAPI ThreadProc(
  LPVOID lpParameter   // thread data
);

如果主线程中调用CreateThread函数成功,线程函数ThreadProc就运行了,你只要编写线程函数就行了,实现自己的功能,
注意CreateThread函数的参数,第3个是线程函数地址即ThreadProc,第4个是线程函数的参数lpParameter


[编辑 -  6/15/04 by  snowStart]
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
fangps
驱动牛犊
驱动牛犊
  • 注册日期2004-05-31
  • 最后登录2004-12-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-06-15 10:35
谢了

我搞定了
不过是用C++ Builder的线程封装类,
用creatthread和beginthread函数都还不是很清楚
呵呵

线程函数是容易啊,但是我就不知道用这两个函数生成新的线程后怎么调用它们,呵呵
walkonthesky
驱动中牛
驱动中牛
  • 注册日期2003-11-26
  • 最后登录2012-11-06
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-06-18 16:19
会返回新线程的句柄

有了句柄
想怎么整就怎么整
[img]http://www.driverdevelop.com/forum/upload/walkonthesky/2004-07-08_2004-07-07_b847.gif[/img]
游客

返回顶部