Ver Mensaje Individual
  #2  
Antiguo 18-04-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 26
seoane Va por buen camino
Pues no conozco una limitación, supongo que el limite lo pondrá el sistema operativo y que también dependerá de los recursos disponibles. Lo normal es utilizar un numero razonable.

Supongo que tu aplicación no sabe cuantos threads va a usar, así que me imagino que los threads se van creando a medida que el usuario/cliente los va solicitando. En ese caso siempre puedes llevar la cuenta de los que se están usando, y si llega a un limite fijado por ti, puedes esperar a que se cierre uno o mostrar un mensaje de error informando que no se pueden crear mas threads.

Para llevar la cuenta de cuantos threads se están utilizando, puedes usar algo como esto:
Código Delphi [-]
var
  // Una variable global
  ThreadsRunning: Integer;

// En el metodo create del thread
InterlockedIncrement(ThreadsRunning);

// En el metodo destroy del thread
InterlockedDecrement(ThreadsRunning);

// Y cuando vayas a crear el thread
if ThreadsRunning < Limite then
begin
  // Aquí creas el thread
end else ShowMessage('No puedo crear mas threads');
Responder Con Cita