加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

多线程 – 使用cpu 100%

发布时间:2020-12-15 04:56:25 所属栏目:Java 来源:网络整理
导读:我需要一个将100%使用我的CPU的功能.我有一个单核心CPU任何想法? 线程是否需要设置为高优先级? 解决方法 例如,通过下一个线程: unit Unit2;interfaceuses Classes;type TLoadThread = class(TThread) public class var Stop: Boolean; protected procedu
我需要一个将100%使用我的CPU的功能.我有一个单核心CPU任何想法?

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

解决方法

例如,通过下一个线程:

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.

一个用法示例:

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;

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读