我必须失去了一些东西的工作,等待任务花费永远或完全不
var t2 = new Task<bool>(() =>
{
return UserName == "Admin";
});
bool x = await t2;
的bool x = await t2;
是永远不会结束,x
没有收到任何东西(而我确信,用户名是等于“管理员“),不知道到底发生了什么,请有人向我解释。
我必须失去了一些东西的工作,等待任务花费永远或完全不
var t2 = new Task<bool>(() =>
{
return UserName == "Admin";
});
bool x = await t2;
的bool x = await t2;
是永远不会结束,x
没有收到任何东西(而我确信,用户名是等于“管理员“),不知道到底发生了什么,请有人向我解释。
您还没有开始任务。 await
会一直等到它完成,但如果它没有开始,它永远不会完成。
也许你想要Task.Run
,它创建了并开始一个任务? (我假设在现实中,你的任务做更有用的东西......)
你要开始任务,但最好使用任务工厂
Task.Factory.StartNew(() =>
{
return UserName == "Admin";
});
bool x = await t2;
或使用Task.Run()
即使t2.start()将有助于启动任务,然后等待完成 – 2014-10-09 11:40:00
@MrinalKamboj:确实是这样,但是如果你要创建并立即启动任务,你还不如请首先使用'Task.Run' :) – 2014-10-09 11:40:42
@ Jon Skeet同意,正在尝试最新的当前代码更改:) – 2014-10-09 11:43:44