这里表达了什么意图?:
lock(Locker)
{
Task.Factory.StartNew(()=>
{
foreach(var item in this.MyNonCurrentCollection)
{
//modify non-concurrent collection
}
}, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.FromCurrentSynchonizationContext())
.ContinueWith(t => this.RaisePropertyChanged("MyNonCurrentCollection"));
}
系统lock
(队列)会直到Task
完成还是系统锁定只是为了开始一个新的Task
?后者意味着这个锁即使没用也是善良的,对吧?我只是想从别人的代码中发现意图。这里的理想是防止MyNonCurrentCollection
被另一个线程修改。