C# Thread、delegate、Task三种异步进行对比
2021-04-22 17:36
标签:委托 tree 实例 对比 速度 lin ret wait null 1.Thread 【线程】 不断创建 Thread 会消耗很大的cup 导致 异步效率变慢 2.delegate【委托异步】 由于需要不断的实例化 委托类 将会消耗cup 和 内存 3.Task 【结合 async】 这种是三种中性能最好的 较低的cup和内存损耗 下面是例子: #region 委托异步 和 asycn 异步进行对比 // TestTreed( count); } } /// // await Task.Delay(1500); /// private delegate int _delegate(int i); } /// #endregion C# Thread、delegate、Task三种异步进行对比 标签:委托 tree 实例 对比 速度 lin ret wait null 原文地址:http://www.cnblogs.com/change4now/p/8012331.html
///
/// 运行
///
///
static void Run(int count)
{
TestAsycnTask(count);
// TestDelegate(count);
///
/// 损耗cup 而且创建速度慢
///
///
static void TestTreed(int count)
{
for (int i = 0; i {
// Console.WriteLine("开始计算");
new Thread(a =>
{
Console.WriteLine(i);
}).Start();
}
//***************Task 部分
/// Task异步
///
///
///
static async Task
{
Console.WriteLine(i);
return i;
}
/// 测试 asycn 只会消耗小部分 cup
///
///
static void TestAsycnTask(int count)
{
for (int i = 0; i {
// Console.WriteLine("开始计算");
AsyncTask(i);//直接就异步了
}
}
//********************************委托部分
///
/// 因为创建 委托 所以会消耗内存 和cup
///
///
static void TestDelegate(int count)
{
for (int i = 0; i {
var d = new _delegate(Delegte);
var r = d.BeginInvoke(i, null, null);
}
/// 委托函数
///
///
///
static int Delegte(int i)
{
Console.WriteLine(i);
return i;
}
文章标题:C# Thread、delegate、Task三种异步进行对比
文章链接:http://soscw.com/index.php/essay/78173.html