深夜,闲得无聊,突然奇想,想写控制cpu的,让cpu按照我的思想来,嘎嘎,由于是自己猜的,不要乱喷哦,虽然没人给我评论。
网上看到一个人说,一个死循环就能把单核cpu搞到100%,我不信,(我的电脑i5 4200M),就写了一个控制台程序,代码如下
<span style="color:#3366FF;"> static void Main(string[] args) { while (true) { } }</span>
然后来看效果图
大家看到那个25了吧,上方标记的是cpu,应该是cpu使用率,那么,为啥不是100%呢?我坐在电脑前面想(抓头发,程序员最好不要抓头发,容易掉)。
突然想到了,人家说的没错,由于是控制台程序,所以跑的是单线程,而我的电脑是双核四线程,那么cpu使用率就是25,我要是开两个线程,死循环,cpu就是50。三个就是75。四个就是100。
辣么,下来就开始验证,
首先开启两个线程
还真是这样的,那么下来分别看看三线程,四线程的死循环
然后可以干一些自己想干的事情了,比如用程序画一个跳动的折线,要用到Thread.Sleep();这个方法,可以通过它在不同时间控制cpu使用率,下次有空研究一下,碎觉。下面是全部代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace lineCPU { class Program { static void Main(string[] args) { //这里是一会测试用的 Thread th1 = new Thread(new ParameterizedThreadStart(fun)); Thread th2 = new Thread(new ParameterizedThreadStart(fun)); Thread th3 = new Thread(new ParameterizedThreadStart(fun)); Thread th4 = new Thread(new ParameterizedThreadStart(fun)); th1.Start(); th2.Start(); th3.Start(); th4.Start(); } private static void fun(object obj) { while (true) { } } } }
时间: 2024-10-09 03:01:31