返回结果的多线程 ( 积分: 200 )

  • 主题发起人 主题发起人 痞子刘
  • 开始时间 开始时间

痞子刘

Unregistered / Unconfirmed
GUEST, unregistred user!
我有个发送短信程序,想用2个多线程,其中计算短信GetConntResult()函数用一个线程GetResultThrd;然后用一个发送线程SendThrd,望大家给小弟指点迷津。
 
我有个发送短信程序,想用2个多线程,其中计算短信GetConntResult()函数用一个线程GetResultThrd;然后用一个发送线程SendThrd,望大家给小弟指点迷津。
 
用回调函数或事件返回结果就行了
要注意线程同步哦
 
to yostgxf, 这个GetConntResult()写在回调函数里吗?那会很慢的吧,能不能写在线程里面呢?要注意线程同步是指哪些?谢谢!
 
我举个例子吧
把你的计算GetConntResult()写在线程中
然后:
1.定义一个事件
type
TBSDataReadEvent = procedure(你的回调的参数) of object;
private
FOnDataRead : TBSDataReadEvent;
public
property OnDataRead : TBSDataReadEvent read FOnDataRead write FOnDataRead;
2.线程中的函数 procedure CreateDataReadEvent;
procedure TBSTCPClientThread.CreateDataReadEvent;
begin
if Assigned(OnDataRead) then
FOnDataRead(你的回调的参数);
end;
3. 在Execute中
//得到数据后
Synchronize(CreateDataReadEvent);
这样在主线程调用这个事件就行了
我讲明白了吗?
 
我对线程的概念还是有点模糊,那位大富翁能告诉我线程它的最大功能是甚摸?
 
后退
顶部