您的位置:首页 > 编程语言 > C#

关于C#多线程的学习和一点疑惑

2015-03-12 20:35 561 查看
最近在看C#的多线程编程,看到一个个人觉得有点意思的东西。

先看代码:

static int testInt = 0;

static void Main(string[] args)

{

Thread t = new Thread(WriteY);

t.Name = "MyThred";

t.IsBackground = false;

t.Start();

t.Join();

//String threadState = t.ThreadState;

while (true)

{

Thread.Sleep(100);

Console.Write("a" + testInt.ToString() + "b");

testInt++;

}

}

static void WriteY()

{

int mark = 0;

while (true)

{

//Thread.CurrentThread.Join();

Thread.Sleep(100);

Console.Write(testInt.ToString());

mark++;

}

}

在这里我调用了Join方法阻塞一个线程。

一开始我以为阻塞的应该是t,但是很不幸,程序打印出来的结果是 000000000000000000000000。。。这样一连串的0

看来阻塞的是主线程,这跟以前编程的习惯完全不符!!!

笔者暂时没有找到为什么会出现这样的结果。

当然,由于笔者初学,可能出现了理解上的错误,如果有大神看到,希望能留下足迹。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: