| ErrorNeo |
27.11.2009 18:44 |
Грузилка v1.0
описание:
Программа совершенно ничего не делает.
Но не делает она это в 4 потока с критическим системным приоритетом, таким образом способна отправить в полную кому совершенно любую, не важно скольки-ядерную систему.
Более мощный процессор, в данном случае, лишь позволяет программе ничего не делать с большей эффективностью, чем медленный.
код программы:
Код:
program Program1;
uses
Classes;
const
threads=4; //количество потоков, в которое работает программа.
//Должно превышать количество ядер для того,
//чтобы была возможность полностью загрузить их все.
type
TMyThread = class(TThread)
public
constructor Create; overload;
protected
procedure Execute; override;
end;
constructor TMyThread.Create;
begin
Create(true);
FreeOnTerminate := True;
Priority := tpLower;
// priority:=tpTimeCritical;
Resume;
end;
//thread
procedure TMyThread.Execute;
begin
while true do;
end;
//body
var
i:integer;
MyThread : array of TMyThread;
begin
setlength(MyThread,threads);
for i:=0 to threads-1 do MyThread[ i]:=TMyThread.Create;
repeat until false;
end.
{example written by E.N.}
демо версия:
http://slil.ru/28262330
(в ней приоритет у потоков, создаваемых программой выставлен как низкий)
для того, чтобы версия стала злой - достаточно заменить в коде строку
Код:
Priority := tpLower;
на
Код:
priority := tpTimeCritical;
Язык программы - Delphi.
Злая версия отправляет систему в такой коматоз, что невозможно вызвать даже Диспетчер Задач, или же просто нажать конпку Пуск. Хотя мышка по-прежнему периодически дергается...
так же возможно выставление и других приоритетов, по желанию.
Цитата:
tpIdle = &HFFFFFFF1 -15 Lowest thread priority
tpLowest = &HFFFFFFFE -2 Indicates 2 points below normal priority for the priority class.
tpBellowNormal = &HFFFFFFFF -1 Indicates 1 point below normal priority for the priority class.
tpNormal = &H0 0 Indicates normal priority for the priority class.
tpAboveNormal = &H1 1 Indicates 1 point above normal priority for the priority class.
tpHighest = &H2 2 Indicates 2 points above normal priority for the priority class.
tpTimeCritical = &HF 15 Indicates a base-priority level of 15.
|
|