答案错了吧lock (this)
是锁住myClass的对象,又不是int的。
是锁住myClass的对象,又不是int的。
解决方案 »
- 请教个关于VS2008制作EXCEL报表的问题
- 按时间段找出Flowhisvalue 字段中找出0开始0结束的数看能分几组
- C#客户端与C++开发的服务器端进行socket通信的问题
- 处理多个不同类型的数据用什么数据结构好?
- 删除文件session出问题
- Bluetooth for Windows DK API Reference Guide(WIDCOMM)
- 一个找工作问题,新手必看
- 要实现这样的功能,用什么方法比较好?在线
- 能够从类的名字的到类的类型么。
- 在一个Form中,有很多textbox控件,我想实现这样的功能:当用户输入完毕,按回车的时候,就想按了tab一样,到下一个控件上去了?
- 关于Hook的问题,熟悉钩子的来拿分了
- 【紧急】访问某一网站时,如何得到它首页自动生成的 uid 表单值?(uid类型为hidden)
{ private string Name;
public Clerk(string name )
{
this.Name = name;
}
public void test(Clerk clk)
{ lock (this)
{
if (clk.Name.Length < 10 )
{
clk.Name += "a";
Console.WriteLine(clk.Name+"----"+ Thread.CurrentThread.ManagedThreadId);
test(clk);
} }
}
public void TestMultiThread()
{
Clerk c = new Clerk("wiky");
test(c);
} } class Program
{
static void Main(string[] args)
{ Thread[] threads = new Thread[10];
Clerk c = new Clerk("wiky");
for (int i = 0; i < 10; i++)
{
Thread t = new Thread(new ThreadStart(c.TestMultiThread));
threads[i] = t;
}
for (int i = 0; i < 10; i++)
{
threads[i].Start();
} Console.WriteLine("end");
Console.ReadLine();
}
}
btw :lock不用于 value-type ,首先编译不过
还要来个匪夷所思的回答,晕
答:不会发生死锁,(但有一点int是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把int换做一个object,那么死锁会发生)