c# 异步调用 Thread

异步调用中的方法还有就是直接操控线程,可以使用自己创建的线程,也可以使用线程池,线程池的好处就是可以复用,节省线程创建销毁的时间,另外还有排队 控制数量等的方便,下面就简答介绍一下用法。

对了线程方法一般使用的是无参数或者一个参数的方法,具体的例子也是转载别的人,看着也很通俗易懂

 

转载内容:

首先是无参数的

class Program
    {
        static void Main(string[] args)
        {
            //实例化类 起始我们也可以调用同一个类中的函数 这位师傅就是这么演示一下
            ThreadTest test = new ThreadTest();

            //创建thread类 构造函数的参数为我们的目标函数
            Thread thread1 = new Thread(test.Func2);
            
            //开始执行异步任务
            thread1.Start();
            Console.ReadKey();
        }
    }
    
    


    class ThreadTest
    {
        public void Func2()
        {
            Console.WriteLine("这是实例方法");
        }
    }

有参数的

class Program
    {
        static void Main(string[] args)
        {
            ThreadTest test = new ThreadTest();

            //有参调用实例方法,ParameterizedThreadStart是一个委托,input为object,返回值为void        //也就是说明该方式的异步只能接受一个输入 并且不能有返回值
            //多参数输入的解决办法是将参数创建为一个结构体 传入结构体就好了
            ParameterizedThreadStart ps= new ParameterizedThreadStart(test.Func1)

            //开始异步任务
            Thread thread1 = new Thread(ps);
            thread1.Start("有参的实例方法");  //附带上我们的参数
            Console.ReadKey();
        }
    }


    class ThreadTest
    {
        public void Func1(object o)
        {
            Console.WriteLine(o);
        }
    }
private void sum(int a,int b,int c)
//比如我们本来需要三个参数

struct sumarg
{
   public int a;
   public int b;
   public int c;
}


//我们可以通过创建结构体 赋值 然后传入异步线程
sumarg sg = new sumarg();
sg.a = 10;
sg.b = 3;
sg.c = 3;
//只需要传入sg就好了
private void sum(obj args)
{
    sumarg sg = (sumarg)args;
    int res =sg.a + sg.b + sg.c; 
}

转载自:

https://www.cnblogs.com/wyy1234/p/9166444.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值