using System;
using System.Collections.Generic;
using System.Text;
namespace DummyApp
{
class DummyApp
{
static void Main(string[] args)
{
Queue<int> q = new Queue<int>();
lock(q.SyncRoot)
{
DoSomething();
}
}
}
}
编译的时候出错
'System.Collections.Generic.Queue<int>' does not contain a definition for
'SyncRoot'
------解决思路----------------------
lock(q)
{
DoSomething();
}
------解决思路----------------------
Queue<int> q = new Queue<int>();
lock (q)
{
DoSomething();
}
------解决思路----------------------
lock就是把{}中的代码段锁定,防止多个线程同时运行该代码段。
------解决思路----------------------
Queue就没有SyncRoot这个属性
你可以static一个object,然后lock(obj),但你就一个控制台,你写lock有啥用啊?
就算学习也不是这样学习的啊
------解决思路----------------------
可以
语法上没问题
不过你要干什么呢?