C# 线程测试cpu

深夜,闲得无聊,突然奇想,想写控制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

C# 线程测试cpu的相关文章

linux 线程与CPU绑定

看到很多程序都是根据CPU个数来创建线程个数,当时很不理解他们之间的关系,咨询了项目组的同事后才有了大致了解.  1. 相关系统函数 下面的函数可以通过man命令查询到. SYNOPSIS #define _GNU_SOURCE #include <pthread.h> int pthread_setaffinity_np(pthread_t thread, size_t cpusetsize, const cpu_set_t *cpuset); int pthread_getaffinity

Linux下如何查看高CPU占用率线程 LINUX CPU利用率计算

目录(?)[-] proc文件系统 proccpuinfo文件 procstat文件 procpidstat文件 procpidtasktidstat文件 系统中有关进程cpu使用率的常用命令 ps 命令 top命令 单核情况下Cpu使用率的计算 基本思想 总的Cpu使用率计算 计算方法 某一进程Cpu使用率的计算 计算方法 实验数据 某一线程Cpu使用率的计算 计算方法 实验数据 多核情况下cpu使用率的计算 实验一 描述 数据一 数据二 实验二 描述 数据一 数据二 主要问题 Java 系统

Java线程测试高并发

package com.expai.utils; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.HttpURLConnection; import java.net.URL; import java.util.concurrent.CyclicBarrier; import java.util.concurrent.Execu

测试CPU支持指令集AVX,AVX2,SSE情况的代码【VS2010调试通过】

完整代码如下所示 http://download.csdn.net/detail/vbskj/7723827 本人的测试结果 测试CPU支持指令集AVX,AVX2,SSE情况的代码[VS2010调试通过],布布扣,bubuko.com

多线程程序 怎样查看每个线程的cpu占用

可以用下面的命令将 cpu 占用率高的线程找出来: ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu 这个命令首先指定参数'H',显示线程相关的信息,格式输出中包含:user,pid,ppid,tid,time,%cpu,cmd,然后再用%cpu字段进行排序.这样就可以找到占用处理器的线程了. 直接使用 ps Hh -eo pid,tid,pcpu | sort -nk3 |tail 获取对于的进程号和线程号,然后跳转到3.查看哪个进程线程

查看线程linux cpu使用率

Linux下如何查看高CPU占用率线程 LINUX CPU利用率计算 转 http://www.cnblogs.com/lidabo/p/4738113.html目录(?)[-] proc文件系统 proccpuinfo文件 procstat文件 procpidstat文件 procpidtasktidstat文件 系统中有关进程cpu使用率的常用命令 ps 命令 top命令 单核情况下Cpu使用率的计算 基本思想 总的Cpu使用率计算 计算方法 某一进程Cpu使用率的计算 计算方法 实验数据

测试CPU核心个数

//测试CPU核心个数 #if !defined (_WIN32) && !defined (_WIN64) #define LINUX #include <unistd.h> #else #define WINDOWS #include <windows.h> #endif unsigned core_count() { unsigned count = 1; // 至少一个 #if defined (LINUX) count = sysconf(_SC_NPRO

Linux下测试CPU性能

一.安装stress服务 1.下载stress_1.0.1.orig.tar.gz安装包 2.解压tar xvf stress_1.0.1.orig.tar.gz 3.进入解压目录执行./configure 4.make 5.make  check 6.make install 7.make clean 二.安装sysstat服务 1.下载sysstat-11.5.6.tar.gz安装包 2.解压tar xvf sysstat-11.5.6.tar.gz 3.进入解压目录执行./configur

TestNG(十四) 线程测试

package com.course.testng.thread; import org.testng.annotations.Test; public class multiThread { @Test(invocationCount = 10, threadPoolSize = 3) public void test(){ System.out.println("线程测试"); System.out.printf("Thread Id: %s%n",Thread