关于线程的参数、“返回值”、及线程的中止

北漂也要生活

北漂也要生活

2016-01-29 12:28

关于线程的参数、“返回值”、及线程的中止,关于线程的参数、“返回值”、及线程的中止
 

关于线程的参数(2.0)、“返回值”、及线程的中止


1.线程的参数:
有时候会想向辅助线程传递些信息,这里需要用到ParameterizedThreadStart 委托

示例:

        private void btRunThread_Click(object sender, EventArgs e)

        {

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)

            Thread t = new Thread(new ParameterizedThreadStart(this.ThreadRun));

            t.Start(100);

        }

 

        private void ThreadRun(object o)

        {

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)

            this.lbCompleted.Invoke((MethodInvoker)delegate { this.lbCompleted.Text = System.Convert.ToString(o); });

        }

 

2.通过代理可以大致实现类似功能,示例:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)

    class Program

    {

        static void Main(string[] args)

        {

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)

            ThreadClass tc = new ThreadClass(new MyDlg(DlgMethod));

            Thread thread = new Thread(new ThreadStart(tc.ThreadRun));

            Console.WriteLine("second thread start");

            thread.Start();

            thread.Join();

            Console.WriteLine("second thread completed");

            Console.Read();       

        }


        private static void DlgMethod(int i)

        {

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)

            Console.WriteLine("Second Thread Result:{0}", i);

        }

    }

 

    public delegate void MyDlg(int i);

 

    class ThreadClass

    {

        private MyDlg myDlg;

 

        public ThreadClass(MyDlg pDlg)

        {

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)

            this.myDlg = pDlg;

        }

 

        public void ThreadRun()

        {

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)

            int total = 0;

            for (int i = 0; i < 100; i++)[next]

            {

                total += i;

            }

 

            if (myDlg != null)

            {

                myDlg(total);

            }

        }

展开更多 50%)
分享

猜你喜欢

关于线程的参数、“返回值”、及线程的中止

电脑网络
关于线程的参数、“返回值”、及线程的中止

关于EJB返回值的解决方案

编程语言 网络编程
关于EJB返回值的解决方案

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

使用SqlParameter参数返回值时遇到的问题

电脑网络
使用SqlParameter参数返回值时遇到的问题

关于线程的讲解

编程语言 网络编程
关于线程的讲解

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

关于线程的讲解?

编程语言 网络编程
关于线程的讲解?

xmlHTTP返回值重编码的优化

Web开发
xmlHTTP返回值重编码的优化

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Flash教程:AS制作复制美丽爱心效果

Flash教程:AS制作复制美丽爱心效果

使用 <map> 库创建关联容器

使用 <map> 库创建关联容器
下拉加载更多内容 ↓