Buenas tardes amigos foreros:
Tengo un programa con una hebra que hace grabaciones en una base de datos sql server cada cuarto de hora y para ello utilizo la hebra.
Ver código.
Código Delphi
[-]unit Hebras;
interface
uses
Classes;
type
THebraCuartoHora = class(TThread)
grabar : boolean;
constructor Create; reintroduce; overload;
procedure Execute; override;
end;
var HebraCuartoHora : THebraCuartoHora;
implementation
uses DateUtils, sysutils, globales, BBDDCogeneracion, logging;
constructor THebraCuartoHora.Create;
begin
inherited Create(True);
grabar := true;
end;
procedure THebraCuartoHora.Execute;
var ahora: TdateTime;
minutos, segundos : integer;
begin
inherited;
while not TerminarPrograma do
begin
ahora := now;
minutos := MinuteOf(ahora);
segundos := SecondOf(ahora);
if ((minutos mod 15) = 0) and (segundos = 0) then
begin
if (grabar = true) then
begin
grabar := false;
logger.log(elInfo,'::::::::::: Grabando Cuartos de Hora :::::::::::');
try
GrabaCuartosHora(ahora);
logger.log(elInfo,'::::::::::: Cuartos de Hora Grabados :::::::::::');
except
logger.log(elerror,'******** Error Grabando Cuartos de Hora ********');
grabar := true;
end;
end;
end
else
grabar := true;
end;
end;
end.
El problema es que la cpu se pone a 100% y baja bastante poco.
Qué puedo hacer.