C#中线程的,为什么每次点击“开始执行(不调试)”时得到的结果都不一样呢?求指教

代码展示如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;//线程的引用

namespace Test1
{
class Program
{
static int y;
static void Main(string[] args)
{
y = 0;

Thread t = new Thread(writeY);//C#线程的实例化,调用writeYY方法
t.Start();//线程开始

Console.WriteLine("线程慨念-初步接触");

while (true)
{
Console.WriteLine("+++++++++++++++++++++++++++++");
y++;
if (y == 10)
{
Console.WriteLine("语句输出十条,结束执行!");
break;
}
}
}

//方法-简单的线程1
static void writeY()
{
int i = 1;
while (true)
{
Console.WriteLine("C#线程的学习——测试"+i);
i++;
if (i == 11)
{
Console.WriteLine("语句输出十条,结束执行!");
break;
}
}
}

//C#中定义的全局变量需要加static
void mm()
{
y = 11;
}
}
}

第1个回答  2015-05-16

应该是没有释放掉缓存资源吧

Console.Clear();//控制台资源清除;

追问

不是这样的哦。
刚知道,线程默认的执行方式不是一步一步按顺序执行的的,而是多步同时执行,像在上述问题中,线程在执行语句时先抢占到输出指令的就优先被执行到,于是就出现了我遇到的这个问题,每次输出的顺序都有所区别。
郁闷了好久的问题终于算是解决了。。。
不过,还是要谢谢您哦!谢谢!

本回答被提问者和网友采纳
相似回答