如何在便携式类库中创建线程?

Joh*_*Joh 8 .net portable-class-library

在将项目转换为可移植类库之后,使用xna针对xbox360的F#代码无法编译.

let thread = Thread(fun () ->
    setAffinity()
Run Code Online (Sandbox Code Playgroud)

线程得到红色波形,错误信息说

错误1此类型没有可访问的对象构造函数

果然,如果我在对象资源管理器中查看mscorlib,该类型没有构造函数.然而根据MSDN,构造函数存在于xbox和PCL中.

编辑:我尝试使用C#PCL,我得到了同样的错误.

Han*_*ant 7

创建线程不可移植.你的链接错了,它没有谈论PCL.

这是使用可移植类库的成本,它是在减去至少一个可能的目标不支持的所有内容之后遗留下来的.哪个不会留下太多,PCL相当小.最大的挂起是一个目标,实际上没有提到支持,但WinRT(又名Metro).它有一个严重限制的api.

请考虑使用ThreadPool.QueueUserWorkItem().我假设有一天在PCL中支持Task.这是一项正在进行中的工作.