偶想用API的Createthread创建多线程,参数怎么传递,资源怎么创建(200分)

  • 主题发起人 主题发起人 o???0
  • 开始时间 开始时间
O

o???0

Unregistered / Unconfirmed
GUEST, unregistred user!
偶想用API的Createthread创建多线程,参数怎么传递,资源怎么创建,例如:全局变量的定义放在哪儿,是不是放在Form上(用thread时,在线程内定义各个全局变量)[:D][8D]
 
建议创建一个类,在里面封闭CreateThread,全局变量可放在unit中或类里定义
 
全局变量随便放在什么单元,只要在线程单元中引用了声明全局变量的单元
就可以了。线程函数中可以直接使用全局变量,不过在线程运行过程中最好
不要修改这些全局变量,以免访问冲突.
 
看此贴,答案全在这里
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2334299
 
桦树皮说的那个只是说明了线程怎么用
我想创建多个线程,每个线程里边都有Tdatabase等资源,都要访问数据库,怎么办呢[:)]
 
要用线程做数据我个人认为还是用Tthread线程类的好
 
桦树皮,我也想用tthread,可是它好像不能强行终止线程,用terminiatethread也不行[:D],你还有好办法吗[:)]
 
thread.suspend;
thread.free;
 
为什么用api呢?
TThread类不是很好吗
 
请问上边两位,这样线程利创建的资源能释放吗,好像释放不掉,程序关掉后,还会在win2000的任务管理器中看到该进程,有好办法吗[:)]
 
>>还会在win2000的任务管理器中看到该进程
用我的方法应该不会呀
 
我再试试[:D]
 
weiwei81123,
thread.suspend;
thread.free;
//执行到这儿,主程序停住了,怎么办[8D]

 
这些在《Delphi4编程技术内幕》中都讲到了,好书啊,只恨相识太迟!正在看,我可以把书中关于Thread的例子发给你,
 
用Tthread類也很方便釋放資源可以再寫一個線程的 Thread.OnTerminate釋放資源過程
訪問數據庫的線程如果共用一個連接的話,用線程沒有什麼優勢。還不如不用。
如過是用多連接那就要先關閉連接。然後在終止線程
 
Createthread
的用法找一下就一大堆。主要參數就是要傳遞的產生新的線程的函數地址
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes, // pointer to thread security attributes
DWORD dwStackSize, // initial thread stack size, in bytes
LPTHREAD_START_ROUTINE lpStartAddress, // 就是你要執行的函數地址。用新的線程來運行
LPVOID lpParameter, // argument for new thread
DWORD dwCreationFlags, // creation flags
LPDWORD lpThreadId // pointer to returned thread identifier
);
 
网事如风,书中关于Thread的例子发给我一个吧[:)]

 
哥们不知道怎么给你啊!呵呵,我把代码上传了,顺便把书的下栽地址也告你吧!
别忘了给分啊!
这有:Delphi4编程技术内幕 这本书:
http://www.delphifans.com/down_view.asp?id=37
Delphi4编程技术内幕 的代码光盘有100多兆,
我把代码挑出来发到了
ftp://uploads@2ccc.com
名称是 : 网事如风Delphi编程技术内幕Code.rar
 
多人接受答案了。
 
后退
顶部