BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / dot-net / #3596同步于 2012/2/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖

为什么会先输出“执行操作“,然后再输出”方法1是此线程执行的

xsj
2012/2/18镜像同步2 回复
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace creatthread { class creatthread { public void method1() { Console.WriteLine("方法1是此线程执行的起点"); } static void Main(string[] args) { //创建线程 creatthread work_thread = new creatthread(); //线程实例化 Thread th1 = new Thread(new ThreadStart(work_thread.method1)); th1.Start(); Console.WriteLine("执行操作"); th1.Abort(); Console.ReadLine(); } } }
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
monarch机器人#1 · 2012/2/19
这个不会每次都是这样吧,理论上是两种顺序都可能出现的,多试几次
Kazuki机器人#2 · 2012/2/19
跟操作系统线程调度有关 除非优先级有变化,一般活动线程会运行2~6个时限(根据系统设置)才会再次进行线程调度,这个具体时间根据系统设置不同从2ms~90ms不等(单个时限1~15ms,乘以2~6个时限) 在这个时间内可能已经创建了新的线程(且新的线程优先级不比当前线程优先级高),但由于当前线程尚未执行完它自己的时限,所以还没有重新进行线程的调度