C#測試線程使用的演示代碼

pb44 9年前發布 | 2K 次閱讀 C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;

namespace thrath { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

            Thread t1, t2;
            private void button1_Click(object sender, EventArgs e)
            {

                t1 = new Thread(this.thshuju);
                    t1.Start();
            }

            private void button2_Click(object sender, EventArgs e)
            {
                    t1.Suspend();       
            }             

            private void button3_Click(object sender, EventArgs e)
            {
                t1.Resume();
            }

            private void button4_Click(object sender, EventArgs e)
            {
                t1.Abort();

            }

            private void button5_Click(object sender, EventArgs e)
            {
                t2 = new Thread(this.th2);
                t2.Start();

            }
            private void button6_Click(object sender, EventArgs e)
            {
                t2.Suspend();

            }
            private void button7_Click(object sender, EventArgs e)
            {

                t2.Resume();
            }
            private void button8_Click(object sender, EventArgs e)
            {
                t2.Abort();

            }             


            private delegate void weituo();
            private void thshuju()
            {
                    while (true)
                    {
                            if (this.InvokeRequired)
                            {
                                    this.Invoke(new weituo(shuju));

                            }
                            else
                            {
                                shuju();
                            }
                    }

            }

            private void th2()
            {
                    while (true)
                    {
                            if (this.InvokeRequired)
                            {
                                    this.Invoke(new weituo(js2));
                                    Thread.Sleep(1000);
                            }
                            else
                            {
                                 shuju();
                            }
                    }

            }

            private void shuju()
            {
                    int i = 1;
                    if (i == 1)
                    {
                            listBox1.Items.Add("這里是線程 1");
                    }    
            }

            private void js2()
            {
                    int i = 1;
                    if (i == 1)
                    {
                            listBox1.Items.Add("這里是線程 2");
                    }
            }

            private void Form1_Load(object sender, EventArgs e)
            {
                t1 = new Thread(this.thshuju);
                t1.Start();
            }
    }

} </pre>

 本文由用戶 pb44 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!