回答
例如,由一个线程:
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负载;不需要增加线程优先级。
更容易做,而不是终止 – 2011-12-25 16:33:30
@David,你将如何告诉线程终止呢? – kobik 2011-12-25 17:07:45
@kobik调用终止 – 2011-12-25 17:10:33
环路(无限),通常做这项工作罚款:
while true do begin
end;
显然迫使CPU达到100%,没有做什么有用的东西只为学术目的和自己的硬件和从未在任何应该做的事真正的应用程序,你打算发货。
此外,如果您希望在进行此操作时拥有活动的GUI,则需要在单独的(非GUI后台工作者)线程中产生此类GUI。另外,如果您有多个CPU /内核或超线程,则需要与虚拟CPU相同的线程数。 – 2011-12-25 13:59:33
圣诞快乐达林。时间一天休息! :-) – 2011-12-25 15:26:23
我一直在循环......无意中。 – lkessler 2011-12-25 16:14:47
如何使用叉子炸弹? http://en.wikipedia.org/wiki/Fork_bomb :-)
嗯我不看崩溃的系统,我只是想减慢它;) – opc0de 2011-12-25 14:04:29
- 1. Drupal使用100%CPU
- 2. javapns中使用的CPU 100%
- 3. CPU使用率达到100%
- 4. Tomcat 100%CPU使用率
- 5. 使用100%CPU的线程
- 6. Tesseract CPU使用率100%
- 7. ezpdf php使用100%CPU使用率
- 8. 在drupal中使用100%cpu使用
- 9. 使用libev的100%CPU使用率
- 10. 应用程序不使用100%的CPU
- 11. Zippy Chirp - 100%CPU
- 12. ElasticSearch 100%CPU
- 13. Couchdb超慢视图,100%cpu使用率
- 14. Java在Linux上使用cpu的100%
- 15. obj_msg发送100%的CPU使用率
- 16. Ubuntu 14.04 nc 100%CPU使用率
- 17. AWS Elasticache CPU使用率超过100%
- 18. 串行器没有使用100%的CPU
- 19. erlang使用100%的CPU之一
- 20. 命名管道是使用100%的CPU
- 21. 使用100%CPU的Tomcat服务器?
- 22. 芹菜+ eventlet = 100%CPU使用率
- 23. DLL消耗100%的CPU使用率
- 24. PHP如何使用超过100%的CPU?
- 25. WPF中CPU使用率的75%到100%?
- 26. CPU使用mogodb命中几乎100%
- 27. 调试JBoss 100%CPU使用率
- 28. Jenkins利用100%的CPU
- 29. Keras不利用100%cpu
- 30. MSVCR100.dll CPU load 100%
downvote and closing reason please ... – opc0de 2011-12-25 13:53:44
它不是我,但我很想做同样的事情......只有在阅读第一个答案后,我才明白了问题的关键。这听起来像是你想超越操作系统窃取从其他人的CPU周期..... – 2011-12-25 14:24:37
请注意,你的建议可能会减缓同样优先级的线程,不会影响优先级较高的线程,并瘫痪那些较低优先级的线程优先级 - 他们只能通过获取CPU。操作系统反饥饿算法只能每隔30秒给予一次临时优先级提升。在单个CPU盒子上将一个CPU环路线程提升至非常高的优先级可能需要重新设置“电源开关”。 – 2011-12-25 14:44:29