多线程
八核计算机,一般每个核可以执行一个或者两个线程任务,意思八核可以同时执行8个或者16个线程任务
一个进程可以开启的最大线程数量一般能到好几万,但是一般不开那么多,线程池会设置一个最大核心线程数量,一般是cpu核心数,开启超过这个数,还会设置一个最大线程数量,线程数量超过核心线程数量后会继续开,超过核心线程数的线程会有一个时间限制,超过时间不用会销毁
三种Task使用方式
using System;
using System.Threading;
using System.Threading.Tasks;
namespace dotnetLearn.线程.TaskTest
{
public class taskTest
{
public static void test()
{
// 方式1
Task task1 = new Task(() =>
{
Console.WriteLine("current thread id:" + Thread.CurrentThread.ManagedThreadId);
});
task1.Start();
// 方式2
Task task2 = Task.Run(() =>
{
Console.WriteLine("current thread id:" + Thread.CurrentThread.ManagedThreadId);
});
// 方式3
Task task3 = Task.Factory.StartNew(() =>
{
Console.WriteLine("current thread id:" + Thread.CurrentThread.ManagedThreadId);
});
Console.ReadKey();
}
}
}