C# -- 线程 带参数 以及回调实现

本文详细介绍了如何在Java中创建带参数的线程,包括使用ThreadStart、新类继承、线程池和参数化线程启动方式,并讨论了线程回调机制。通过实例演示了如何将数据传递给线程函数,以及如何利用回调函数实现线程间的通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、带参数的线程

private void threadrun(){/*/.....*/}

Thread thread = new Thread(new ThreadStart(threadrun));
thread.Start();

带参数的线程

如果函数带参数

private void threadrun(String value){/*/.....*/} 那么就需要使用其他方法了

1、ThreadStart starter = delegate { threadrun(yourData); };
   new Thread(starter).Start();

2、生成一个新类来

MyThread myThread= new MyThread(youData);

Thread thread = new Thread(new ThreadStart(myThread.threadrun));
thread.Start();

3、//使用线程
WaitCallback callback = delegate (object state) { threadrun((string)state); };
ThreadPool.QueueUserWorkItem (callback, yourData);

4、Thread t = new Thread (new ParameterizedThreadStart(threadrun));
t.Start (yourData);
static void threadrun(object data)
{
  // ....
}

2、线程的回调 就是回调主线程的函数。。

最常见的方法就是 public interface myListener { void callBack() ;}

然后在主类中继承该结构 并且实现callBack函数 然后用myListener 传递给线程使用

然后在线程中调用callBack()即可

 

delegate void MethodInvoker();

this.Invoke(new MethodInvoker(delegate
            {
                this.updateUI();
            }));

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值