C#编程应用--简单线程


1. 主题:C#开发当中,多线程很多时候都必不可少的,尤其有处理多任务的情况下;

 

2. 有图有真相:

 C#编程应用--简单线程

3.源码:

 

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



namespace ThreadExample
{
     public  partial  class Form1 : Form
    {
        StringBuilder sb =  new StringBuilder();
        Thread thread1;
        Thread thread2;

         public Form1()
        {
            InitializeComponent();
        }
         private  void AppendString( string s)
        {
             lock (sb)
            {
                sb.Append(s);
            }
        }
         public  void Method1()
        {
             while ( true)
            {
                Thread.Sleep( 100);    // 线程休眠100毫秒
                AppendString( " a ");
            }
        }
         public  void Method2()
        {
             while ( true)
            {
                Thread.Sleep( 100);    // 线程休眠100毫秒
                AppendString( " b ");
            }
        }

         private  void buttonStart_Click( object sender, EventArgs e)
        {
            sb.Remove( 0, sb.Length);
            timer1.Enabled =  true;
            thread1 =  new Thread( new ThreadStart(Method1));
            thread2 =  new Thread( new ThreadStart(Method2));
            thread1.Start();
            thread2.Start();
        }

         private  void buttonAbort_Click( object sender, EventArgs e)
        {
            thread1.Abort();
            thread1.Join( 10);
            thread2.Abort();
            thread2.Join( 10);
        }

         private  void timer1_Tick( object sender, EventArgs e)
        {
             if (thread1.IsAlive ==  true || thread2.IsAlive ==  true)
            {
                richTextBox1.Text = sb.ToString();
            }
             else
            {
                timer1.Enabled =  false;
            }
        }
    }
}

 

你可能感兴趣的:(C#)