首页 > 代码库 > ThreadContext
ThreadContext
//#define UseThreadContextusing System;using System.Collections.Generic;using System.Linq;using System.Runtime.Caching;using System.Runtime.Remoting.Messaging;using System.Text;using System.Threading;using System.Threading.Tasks;namespace ConsoleApplication7{ class Program { static void Main(string[] args) { TestContext(); } private static void TestContext() { for (int i = 0; i < 10000; i++) { var j = i; var t = new Thread(() => { MyThreads m = new MyThreads(); m.Run(j); Thread.Sleep(new Random(i).Next(1, 9)); m.Print(); }); t.Start(); } Console.ReadKey(); } public class MyThreads { private int I;#if !UseThreadContext [ThreadStatic] private static int x;#endif public void Run(int i) { this.I = i;#if UseThreadContext CallContext.HostContext = i;#else x = i;#endif } public void Print() {#if UseThreadContext var contexti = (int)CallContext.HostContext;#else var contexti = x;#endif if (contexti != I) { throw new Exception("not Equals" + contexti + "VS" + I); } Console.WriteLine(contexti); } }
ThreadContext
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。