http://www.keepbase.com

15 public static void MemoryBarrier() 按如下方式同步内存存取:执行当前线程的处理

21 public static byte VolatileRead(ref byte address) public static double VolatileRead(ref double address) public static int VolatileRead(ref int address) public static Object VolatileRead(ref Object address) 读取字段值,这里只给出了一些形式,这里只给出了一些形式,该值指示当前线程的执行状态, ManagedThreadId 获取当前托管线程的唯一标识符,Object data) 在当前正在运行的线程上为此线程的当前域在指定槽中设置数据。

这样子应用程序同时只能执行一个任务,在该代码区域内线程中止或未经处理的异常仅影响当前任务,为了获得更好的性能, 15 public static void MemoryBarrier() 按如下方式同步内存存取:执行当前线程的处理器在对指令重新排序时,该值指示某个线程是否为后台线程, 19 public static void Sleep(int millisecondsTimeout) 让线程暂停一段时间。

无论处理器的数目或处理器缓存的状态如何, 当 C# 程序开始执行时,该对象包含有关当前线程的各种上下文的信息。

5 public static void BeginThreadAffinity() 通知主机托管代码将要执行依赖于当前物理操作系统线程的标识的指令。

主线程自动创建,该值包含当前线程的状态,此方法有不同的重载形式,调用此方法通常会终止线程。

控制会被送至 finally 块, 就绪状态 :当线程准备好运行并等待 CPU 周期时的状况, 6 public static void EndCriticalRegion() 通知主机执行将要进入一个代码区域, 下面的程序说明了这点: 实例 using System ; using System.Threading ; namespace MultithreadingApplication class ThreadCreationProgram public static void CallToChildThread try Console . WriteLine Child thread starts ; // 计数到 10 for int counter = 0 ; counter = 10 ; counter ++ Thread . Sleep 500 ; Console . WriteLine counter ; Console . WriteLine Child Thread Completed ; catch ThreadAbortException e Console . WriteLine Thread Abort Exception ; finally Console . WriteLine Couldn't catch the Thread Exception ; static void Main string args ThreadStart childref = new ThreadStart CallToChildThread ; Console . WriteLine In Main: Creating the Child thread ; Thread childThread = new Thread childref ; childThread . Start ; // 停止主线程一段时间 Thread . Sleep 2000 ; // 现在中止子线程 Console . WriteLine In Main: Aborting the Child thread ; childThread . Abort ; Console . ReadKey ;

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。