C#跨线程访问(二)----thread参数、回调传参数
一、单个参数(封箱也可实现多参数)
class B
{
public static void Main()
{
Thread t = new Thread(new ParameterizedThreadStart(Test));
t.Start("a");
Console.Read();
}
private static void Test(object obj)
{
Console.WriteLine("带一个参数 {0}!",obj.ToString ());
}
}
二、多个参数
class Test2 { public static void Main() { MyParam m = new MyParam(); m.x = 6; m.y = 9; Thread t = new Thread(new ThreadStart(m.Test)); t.Start(); Console.Read(); } } class MyParam { public int x, y; public void Test() { Console.WriteLine("x={0},y={1}", this.x, this.y); } }
三、回调函数传参
class C { public static void Main() { MyParam m = new MyParam(); m.x = 6; m.y = 9; m.callBack = ThreadCallBack; Thread t = new Thread(new ThreadStart(m.Test)); t.Start(); Console.Read(); } } private void ThreadCallBack(string msg) { Console.WriteLine("CallBack:" + msg); } private delegate void ThreadCallBackDelegate(string msg); class MyParam { public int x, y; public ThreadCallBackDelegate callBack; public void Test() { callBack("x=6,y=9"); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧