• C# 多线程传参 三种实例


    //using Thread to download files

    //1111111111111111
    foreach (var str in listDownloadPdf)
    {
    //string hello1 = "hello world";
    //这里也可简写成Thread thread = new Thread(ThreadMainWithParameters);
    //但是为了让大家知道这里用的是ParameterizedThreadStart委托,就没有简写了
    Thread thread1 = new Thread(new ParameterizedThreadStart(ThreadMainWithParameters));
    thread1.Start(str);
    }

    //2222222222222222222
    foreach (var str in listDownloadPdf)
    {
    MyThread myThread = new MyThread(str);
    Thread thread2 = new Thread(myThread.ThreadMain);
    thread2.Start();
    }

    //333333333333333
    foreach (var str in listDownloadPdf)
    {
    //string hello3 = "hello world";
    //如果写成Thread thread = new Thread(ThreadMainWithParameters(hello));这种形式,编译时就会报错
    Thread thread3 = new Thread(() => ThreadMainWithParameters(str));
    thread3.Start();
    }

    //333333333333333333333
    static void ThreadMainWithParameters(string str)
    {
    Console.WriteLine("33333333333333333,received: {0}", str);
    }
    //111111111111111111111
    static void ThreadMainWithParameters(object obj)
    {
    string str = obj as string;
    if (!string.IsNullOrEmpty(str))
    Console.WriteLine("1111111111111111,received: {0}", str);
    }

    //222222222222222222
    public class MyThread
    {
    private string data;

    public MyThread(string data)
    {
    this.data = data;
    }

    public void ThreadMain()
    {
    Console.WriteLine("222222222222222222: {0}", data);
    }
    }

  • 相关阅读:
    记第一场省选
    POJ 2083 Fractal 分形
    CodeForces 605A Sorting Railway Cars 思维
    FZU 1896 神奇的魔法数 dp
    FZU 1893 内存管理 模拟
    FZU 1894 志愿者选拔 单调队列
    FZU 1920 Left Mouse Button 简单搜索
    FZU 2086 餐厅点餐
    poj 2299 Ultra-QuickSort 逆序对模版题
    COMP9313 week4a MapReduce
  • 原文地址:https://www.cnblogs.com/HaifengCai/p/3625632.html
Copyright © 2020-2023  润新知