用户操作
[即时聊天] [发私信] [加为好友]
常强ID:chqchq
9504次访问,排名11947(2),好友0人,关注者0人。
chqchq的文章
原创 5 篇
翻译 0 篇
转载 3 篇
评论 1 篇
最近评论
aawwmate:大哥,你这代码是MS SQLSERVER的吧
文章分类
收藏
    相册
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 C#中Join()方法实现线程的顺序执行收藏

    新一篇: Socket获取客户端IP地址及端口号 | 旧一篇: 线程与可视化单元的通讯

    在多线程中,某些线程的执行需要建立在另一个线程完成的基础上的,通过ThreadPool可以完成这样功能,但我 不会^_^,查了若干资料也没有弄清楚怎么做。后来发现线程中的Join()方法也可以实现同样的功能。

    程序代码如下:

    using System.Thread;

            private System.Windows.Forms.RichTextBox richTextBox1;
            private System.Windows.Forms.Button button1;
            private System.Windows.Forms.Button button2;
            private bool down = false;
            Private Thread th1;
            Private Thread th2;  

    private void UpdateStr(string str)
            {
                richTextBox1.AppendText(str + "\r\n");
            }

            private void UpdateString1()
            {
                UpdateStr("Thread1 is runnning!");
            }

            private void Updatestring2()
            {
                UpdateStr("Thread2 is running!");
            }

            private void thread1()
            {
                         while (!down)
                {
                    MethodInvoker mi = new MethodInvoker(UpdateString1);
                    this.Invoke(mi);
                    Thread.Sleep(1000);
                }           
                       }

            private void thread2()
            {
                th1.Join();
                while (down)
                {
                    MethodInvoker mi = new MethodInvoker(Updatestring2);
                    this.Invoke(mi);
                    Thread.Sleep(1000);
                }            
           }

    private void button1_Click(object sender, EventArgs e)
            {
                th1 = new Thread(new ThreadStart(thread1));
                th1.Start();
                th2 = new Thread(new ThreadStart(thread2));
                th2.Start();
            }

     private void button2_Click(object sender, EventArgs e)
            {
                down = !down;
            }

    发表于 @ 2006年05月19日 15:21:00|评论(loading...)|编辑

    新一篇: Socket获取客户端IP地址及端口号 | 旧一篇: 线程与可视化单元的通讯

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © chqchq