Red de conocimiento informático - Computadora portátil - Cómo implementar subprocesos múltiples en Delphi

Cómo implementar subprocesos múltiples en Delphi

El subproceso múltiple es en realidad muy simple. DELPHI tiene clases de subprocesos múltiples que puede agregar y usar. Pero a mí me gusta llamar a la API. El método es el siguiente:

Defina una función o proceso. Esta función es lo que el hilo quiere ejecutar. Luego, puede crear hilos continuamente llamando a la API. Cada hilo ejecuta esa función de forma independiente. Después de la ejecución, el hilo se cerrará automáticamente. en mi programa:

{El siguiente es el proceso del hilo. Mi hilo pasa un parámetro y crea el SOCKET}

procedimiento ClientThread(var sock:TSOCKET;

var…;

begin

……

end;

{El siguiente es el código del programa principal para establecer el servicio, esperar la conexión y llamar al hilo para procesarlo después de la conexión}

repetir

iAddrSize := sizeof(client);

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

si sClient=INVALID_SOCKET entonces

comenzar

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

break;

end ;

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

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

si hThread=0 entonces

comenzar

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

romper;

finalizar;

CloseHandle(hThread);

hasta que sea falso;