using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("Taking data from Main Thread\n->"); string message = Console.ReadLine(); ThreadStart newThread = new ThreadStart(delegate { Write(message); }); Thread myThread = new Thread(newThread); } public static void Write(string msg) { Console.WriteLine(msg); Console.Read(); } } }
解决方法
如果您有一些数据要使用您的呼叫序列“流动”某些数据,也可以使用
CallContext.
Here is a good blog posting about LogicalCallContext from Jeff Richter.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("Taking data from Main Thread\n->"); string message = Console.ReadLine(); //Put something into the CallContext CallContext.LogicalSetData("time",DateTime.Now); ThreadStart newThread = new ThreadStart(delegate { Write(message); }); Thread myThread = new Thread(newThread); } public static void Write(string msg) { Console.WriteLine(msg); //Get it back out of the CallContext Console.WriteLine(CallContext.LogicalGetData("time")); Console.Read(); } } }
原文地址:https://www.jb51.cc/csharp/243622.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。