c# – 如何将变量传递给另一个线程
发布时间:2020-12-15 08:27:11 所属栏目:百科 来源:网络整理
导读: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 Threadn-"); s
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 Threadn->"); 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 Threadn->"); 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(); } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |