• 【.NET重修计划】带参数的线程


    带参数的线程
    一、带参数线程的声明及使用。

      Thread 线程名 = new  Thread(new ParameterizedThreadStart(方法名));
      线程名.Start(参数);


      ①线程直接传入的参数只能有一个,且为object型。

      ②方法中须将传入的参数强制转换为方法所需的值类型。
      ③要传入多个参数时,可以通过实例化一个对象类,使用该对象类的属性,或者创建一个数组。


    二、案例“使用传入多个参数的线程”

    代码
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading;
    using System.IO;

    namespace 线程传参
    {
    class Program
    {
    static void Main(string[] args)
    {
    //实例化Text对象。
    Text txt1 = new Text();
    txt1.txtName
    = "AAAAAAAA";
    txt1.about
    = "aaaaaaaa";

    //实例化Write对象。
    Write write1 = new Write();

    //创建一个带参数的线程。
    Thread thread1=new Thread(new ParameterizedThreadStart(write1.WriteText));

    //这里只能传递一个object类型的参数,使用实例化对象的属性可以达到传递多个参数的目的。
    thread1.Start(txt1);
    }

    //创建一个Text类,用属性来传递多个参数。
    public class Text
    {
    //.Net Framework 3.0之后可以直接用set;get;来接收属性。
    public string txtName { set; get; }
    public string about { set; get; }
    }

    public class Write
    {
    //接收参数的方法。
    public void WriteText(object txt)
    {
    //这里是将传递过来的object型参数强制转换为原来的类型。
    string txtName = ((Text)txt).txtName;
    string about = ((Text)txt).about;
    File.WriteAllText(
    "H:\\Blog_Work\\线程传参\\线程传参创建的文件\\" + txtName + ".txt", about);
    }
    }
    }
    }

      Over

  • 相关阅读:
    查准率(precision)和查全率(recall)
    数据集大全:25个深度学习的开放数据集
    利用贝叶斯算法实现手写体识别(Python)
    KNN算法识别手写数字
    判断点在直线的左右哪一侧
    多节点bigchaindb集群部署
    java 多线程 3 synchronized 同步
    java 多线程 1 “常用的实现多线程的2种方式”:Thread 和 Runnable
    java 字符串
    java 关键字static
  • 原文地址:https://www.cnblogs.com/firstdown/p/1879914.html
Copyright © 2020-2023  润新知