Mac上的.NET Core中的Thread.Sleep()

时间:2016-04-12 09:36:28

标签: c# macos .net-core .net-mac

我在Mac机器上使用.NET Core。

我的代码中的某个地方我想使用这段代码:

System.Threading.Thread.Sleep(100);

但它在Thread命名空间中找不到System.Threading

怎么了?是不是Thread可用于Mac,或者我遗失了什么?

2 个答案:

答案 0 :(得分:12)

您是否已在project.json添加了System.Threading.Thread个包裹?

{
    "version": "1.0.0-*",
    "compilationOptions": {
        "emitEntryPoint": true
    },

    "dependencies": {
        "NETStandard.Library": "1.0.0-rc2-23811",
        "System.Threading.Thread": "4.0.0-beta-23516"
    },

    "frameworks": {
        "dnxcore50": { }
    }
}

然后我可以使用Thread.Sleep

using System;
using System.Threading;


    namespace ConsoleApplication
    {
        public class Program
        {
            public static void Main(string[] args)
            {
                Console.WriteLine(DateTime.Now);
                Thread.Sleep(2000);
                Console.WriteLine("Hello World!");
                Console.WriteLine(DateTime.Now);
            }
        }
    }

enter image description here

答案 1 :(得分:6)

  

Mac不可用Thread吗?

尚未:https://github.com/dotnet/corefx/issues/2576

  

当前的System.Threading.Thread(和System.Threading.ThreadPool)包仅支持桌面和CoreCLR。

和:https://github.com/dotnet/corefx/issues/2576#issuecomment-187184341

  

我可以看到dotnet-core NuGet feed中最新的System.Threading.Thread包没有改变这张图片。