日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

自己封装线程(Demo)

發布時間:2025/7/14 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自己封装线程(Demo) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代碼 unit?theadTest;

interface

uses
??Windows,?Classes;

type
??MyThread?
=?class
??
private
????FHandle:?THandle;
????FSuspended:?Boolean;
????FThreadID:?THandle;
????FThradNodity:?TNotifyEvent;
????FTerminated:??Boolean;
????
procedure?SetSuspended(Value:?Boolean);
??
protected
????
procedure?Execute;?virtual;
????
property?Terminated:?Boolean?read?FTerminated;
??
public
????
constructor?Create(CreateSuspended:?Boolean);
????
destructor?Destroy;?override;
????
procedure?Terminate;
????
property?Handle:?THandle?read?FHandle;
????
property?Suspended:?Boolean?read?FSuspended?write?SetSuspended;
????
property?ThreadID:?THandle?read?FThreadID;
????
property?ThradNodity:?TNotifyEvent?read?FThradNodity?write?FThradNodity;
??
end;

implementation

{?MyThread?}

function?ThreadProc(Param:?Pointer):?Integer;
begin
??
try
????
if?not?MyThread(Param).Terminated?then
??????
try
????????MyThread(Param).Execute;
??????
except
??????
end;
??
finally
????Result?:
=?0;
??
end;
end;??

constructor?MyThread.Create(CreateSuspended:?Boolean);
begin
??
inherited?Create;
??FSuspended?:
=?CreateSuspended;
??FHandle?:
=?BeginThread(nil,?0,?@ThreadProc,?Pointer(Self),?CREATE_SUSPENDED,?FThreadID);
end;

destructor?MyThread.Destroy;
begin
??
if?FHandle?<>?0?then?CloseHandle(FHandle);
??
inherited?Destroy;
end;

procedure?MyThread.Execute;
begin
??
while?not?Terminated?do
??
begin
????
if?Assigned(ThradNodity)?then
??????ThradNodity(
nil);
??
end;??
end;

procedure?MyThread.SetSuspended(Value:?Boolean);
begin
??
if?Value?<>?FSuspended?then
????FSuspended?:
=?Value;
end;

procedure?MyThread.Terminate;
begin
??FTerminated?:
=?True;
end;

end.

調用
var
??Test1:?MyThread;

var
? H: THandle;
begin
? Test1 := MyThread.Create(False);
? Test1.ThradNodity := ThreadNodity;

? DuplicateHandle(GetCurrentProcess, Test1.Handle, GetCurrentProcess, @H, DUPLICATE_SAME_ACCESS, TRUE, DUPLICATE_SAME_ACCESS);
? Windows.ResumeThread(H);
//? Windows.ResumeThread(Test1.Handle);
? Windows.ResumeThread(H);
end;


procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
? if Assigned(Test1) then
? begin
??? if Test1.Handle <> 0 then
????? Test1.Terminate;
??? Test1.Free;
? end;
end;


思路基本是DELPHI?VCL?中Thread的封裝思路,主要是測試用
VCL 中先創建一個掛起的線程,然后再調用,調用過程還是有點小復雜,

?

轉載于:https://www.cnblogs.com/chengxin1982/archive/2009/12/14/1623575.html

總結

以上是生活随笔為你收集整理的自己封装线程(Demo)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人a级网站| 欧美大片一区二区三区 | 亚洲第一视频在线 | 亚洲国产福利视频 | 久久99久| 在线99热 | 国产精品mm| 国产51页 | 日本久久免费 | 亚洲色图50p| 激情五月开心婷婷 | 国产专区欧美专区 | 岛国一区二区三区 | 视频二区中文字幕 | 成人小视频免费 | 亚洲色欲色欲www | 亚洲一区二区三区播放 | 中文二区| 韩国av三级 | 最污网站在线观看 | 日韩精品久久久久久 | 亚洲天堂男人 | 色咪咪网站 | 日本欧美在线观看 | 精品久久影院 | 一二三四区在线 | x88av视频| 欧美人妻一区二区 | 同心兄弟| 国产精品一区二区无码对白 | 成人免费一区二区三区在线观看 | 伊人色综合久久久 | 96久久| 久久成人18免费观看 | 国产盗摄精品一区二区酒店 | 天天综合日日夜夜 | 午夜影视大全 | 国产精彩视频在线观看 | 西西4444www大胆无码 | 色婷婷香蕉在线一区二区 | 91看黄| 成人日韩精品 | 天天射天天干天天色 | 亚洲性xxxx| 亚洲视频黄| 国产一区二区视频播放 | 黑人极品ⅴideos精品欧美棵 | 中文字幕第五页 | 丝袜美腿亚洲综合 | 人人妻人人做人人爽 | 91精品又粗又猛又爽 | www.爱色av.com | 在线观看黄色片网站 | 成人精品毛片 | 亚洲免费观看高清完整版在线 | 国产三级视频在线播放 | 免费看操片 | 亚洲熟妇无码另类久久久 | 激情伦成人综合小说 | 国产又黄又猛又粗又爽 | 一个人看的www片免费高清中文 | wwwxxx欧美| 日韩中文av| 蜜乳av 懂色av 粉嫩av | 亚洲午夜国产 | 久久色中文字幕 | 蜜桃tv一区二区三区 | 哺乳期给上司喂奶hd | 成人精品亚洲 | 欧美高清视频一区 | 日韩精品免费一区 | 超碰激情在线 | 欧洲做受高潮免费看 | 久久不卡免费视频 | 91精品国产闺蜜国产在线闺蜜 | 特高潮videossexhd | 日日操日日操 | 欧美色综合网站 | 久久密av| 日本无遮羞调教打屁股网站 | 五级黄高潮片90分钟视频 | 午夜va | 久久久午夜视频 | 不卡二区 | 五月天国产精品 | 天堂а√在线中文在线鲁大师 | 在线aa| 亚洲精品在线中文字幕 | 天天色av | 国产大片中文字幕 | 天天操天天爽天天射 | 欧美日韩中文字幕一区 | 日韩在线免费看 | 久久人妻少妇嫩草av无码专区 | 曰本无码人妻丰满熟妇啪啪 | 免费v片在线观看 | 日本成人在线免费视频 | 娇小激情hdxxxx学生 | 日韩视频免费在线播放 |