• 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"); 
         } 
       } 
  • 相关阅读:
    推荐一款Notepad++主题Dracula
    一个小工具,利用php把指定目录文件递归上传到阿里云OSS
    svn2个小问题的解决
    借助Algorithmia网站API:用AI给黑白照片上色,复现记忆中的旧时光
    C++@sublime GDB调试
    C++@重载函数
    C++@语句块
    C++@命名空间(转)
    《Linux与Qt程序设计》知识框架
    多线程中的使用共享变量的问题 (转)
  • 原文地址:https://www.cnblogs.com/xietianjiao/p/11929059.html
Copyright © 2020-2023  润新知