您好,我正在尝试在我的应用程序中使用 Semaphore
。我已经这样声明了。
class MyThread
{
public Thread Thrd;
static Semaphore sem = new Semaphore(2, 2);
public MyThread(string name)
{
Thrd = new Thread(this.Run);
Thrd.Name = name;
Thrd.Start();
}
}
但我无法编译它给了我这个错误:
The type or namespace name 'Semaphore' could not be found
(are you missing a using directive or an assembly reference?)
但我已经添加了命名空间 using System.Threading;
我能够使用 Mutex。
可能是我所缺少的。还有其他引用资料需要补充吗?我正在使用 VS 2010。框架4.0
最佳答案
System.Threading.dll 是在 .NET 4.0 中添加的(尽管 namespace System.Threading 自 v1 以来就已存在)。也许您的项目包含旧版本的 System.Threading。
您需要在您的项目中添加对定义该命名空间的程序集的引用,或者尽管您声明您正在使用 System.Threading,但您仍缺少 using 语句。
关于c# - 在 C# 中使用信号量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15658318/