使用cpu 100%

opc*_*0de 3 delphi multithreading

我需要一个将100%使用我的CPU的功能.我有一个单核心CPU任何想法?

线程是否需要设置为高优先级?

Dar*_*rov 7

循环(无限)通常可以正常工作:

while true do begin

end;
Run Code Online (Sandbox Code Playgroud)

显然强制CPU在没有做任何有用的情况下达到100%应该只为学术目的和你自己的硬件而且从不在你打算发布的任何实际应用程序中.

  • @DavidHeffernan - 你为什么还在这儿?在坎布里亚郡关闭所有的酒吧,或者昨晚之后你被禁止/宿醉...... :) (2认同)

klu*_*udg 5

例如,通过下一个线程:

unit Unit2;

interface

uses
  Classes;

type
  TLoadThread = class(TThread)
  public
    class var Stop: Boolean;
  protected
    procedure Execute; override;
  public
    constructor Create;
  end;

implementation

constructor TLoadThread.Create;
begin
  inherited Create;
  FreeOnTerminate:= True;
end;

procedure TLoadThread.Execute;
begin
  repeat until Stop;
end;

end.
Run Code Online (Sandbox Code Playgroud)

一个用法示例:

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure LoadCPU;
begin
  TLoadThread.Stop:= False;
  TLoadThread.Create;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  LoadCPU;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  TLoadThread.Stop:= True;
end;
Run Code Online (Sandbox Code Playgroud)

如果您的CPU有N个内核,请单击Button1N次以达到100%的CPU负载; 无需增加线程优先级.