當前位置:編程學習大全網 - 編程軟體 - Delphi怎樣實現多線程

Delphi怎樣實現多線程

多線程其實非常簡單,DELPHI有多線程的類,妳添加即可使用,但是我喜歡自己調用API,方法如下:

定義壹個函數或者過程,這個函數就是線程要執行的內容,然後調用API就可以不斷創建線程,每個線程都單獨的執行那個函數,執行完畢線程就自動關閉,下面是我程序裏面的部分代碼:

{下面這個就是線程過程,我的線程傳遞壹個參數,建立的SOCKET}

procedure ClientThread(var sock:TSOCKET); stdcall;

var ……;

begin

……

end;

{下面是主程序建立服務,等待連接,連接後調用線程進行處理的代碼}

repeat

iAddrSize := sizeof(client);

sClient := accept(sListen, @client, @iAddrSize);

if sClient=INVALID_SOCKET then

begin

SocketErrorMsg(sClient, 'accept() fail');

break;

end;

writeln('Accepted client: ',inet_ntoa(client.sin_addr),':',ntohs(client.sin_port),' sock=',sClient);

hThread := CreateThread(nil, $1000, @ClientThread, @sClient, 0, dwThreadId);

if hThread=0 then

begin

writeln('CreateThread() fail:',GetLastError);

break;

end;

CloseHandle(hThread);

until false;

  • 上一篇:scanf在c語言中代表什麽
  • 下一篇:開端的循環符號是什麽意思
  • copyright 2024編程學習大全網