Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
C#通过委托开启线程
淫魔灭世发起了问答2018-05-02
1
回复
1355
浏览

开启线程时报错,源码如下:

using System;
using System.Threading;

namespace _016_线程_委托方式发起线程
{
    class Program
    {
        static void Test()
        {
            Console.WriteLine("Test");
            Thread.Sleep(100);
        }
        static void Main(string[] args)
        {
            //在Main线程中执行一个线程,里面语句的执行是从上到下的
            //1.通过委托开启一个线程
            Action a = Test;
            IAsyncResult ar = a.BeginInvoke(null, null);
            //开启一个新线程去执行a所引用的方法
            //IAsyncResult可以取得当前线程的状态
            //可以认为线程是同时执行的(异步执行)
            if (ar.IsCompleted == false)
            {
                Console.Write(".");
            }
            Console.WriteLine("Main");
            Console.ReadKey();
        }
    }
}

错误的详细信息:

System.PlatformNotSupportedException
  HResult=0x80131539
  Message=Operation is not supported on this platform.
  Source=System.Private.CoreLib
  StackTrace:
   at System.Action.BeginInvoke(AsyncCallback callback, Object object)
   at _016_线程_委托方式发起线程.Program.Main(String[] args) in E:\Visual Studio 2017\学习C sharp高级篇\016-线程-委托方式发起线程\Program.cs:line 18

所有回复
  • siki 2018-05-03

    这里提示不能通过Action来开启线程,当前平台不支持

    你可以更换。net版本更高的平台试下,也可以使用别的方式开启线程

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!