InBlock.gif using System;
InBlock.gif using System.Collections.Generic;
InBlock.gif using System.ComponentModel;
InBlock.gif using System.Data;
InBlock.gif using System.Drawing;
InBlock.gif using System.Linq;
InBlock.gif using System.Text;
InBlock.gif using System.Windows.Forms;
InBlock.gif using System.Threading;
InBlock.gif
InBlock.gif namespace XianChen
InBlock.gif{
InBlock.gif         public partial class Form3 : Form
InBlock.gif        {
InBlock.gif                 public Form3()
InBlock.gif                {
InBlock.gif                        InitializeComponent();
InBlock.gif                }
InBlock.gif
InBlock.gif                Thread t1, t2;
InBlock.gif                 private void button1_Click( object sender, EventArgs e)
InBlock.gif                {
InBlock.gif                         int i = 100;
InBlock.gif                        t1 = new Thread( this.th1);
InBlock.gif                        t1.Start(i);
InBlock.gif                }
InBlock.gif
InBlock.gif                 private void button2_Click( object sender, EventArgs e)
InBlock.gif                {
InBlock.gif                        t1.Suspend();        
InBlock.gif                }
InBlock.gif
InBlock.gif                 private void button7_Click( object sender, EventArgs e)
InBlock.gif                {
InBlock.gif                        t1.Resume();
InBlock.gif                }
InBlock.gif
InBlock.gif                 private void button3_Click( object sender, EventArgs e)
InBlock.gif                {
InBlock.gif                        t1.Abort();
InBlock.gif                }
InBlock.gif
InBlock.gif                 private void button4_Click( object sender, EventArgs e)
InBlock.gif                {
InBlock.gif                         int i = 200;
InBlock.gif                        t2 = new Thread( this.th2);
InBlock.gif                        t2.Start(i);
InBlock.gif                }
InBlock.gif
InBlock.gif                 private void button5_Click( object sender, EventArgs e)
InBlock.gif                {
InBlock.gif                        t2.Suspend();                        
InBlock.gif                }
InBlock.gif
InBlock.gif                 private void button8_Click( object sender, EventArgs e)
InBlock.gif                {
InBlock.gif                        t2.Resume();
InBlock.gif                }
InBlock.gif
InBlock.gif                 private void button6_Click( object sender, EventArgs e)
InBlock.gif                {
InBlock.gif                        t2.Abort();
InBlock.gif                }
InBlock.gif
InBlock.gif
InBlock.gif                 private delegate void weituo( object tmp);
InBlock.gif                 private void th1( object tmp)
InBlock.gif                {
InBlock.gif                         while ( true)
InBlock.gif                        {
InBlock.gif                                 if ( this.InvokeRequired)
InBlock.gif                                {
InBlock.gif                                         this.Invoke( new weituo(js1),tmp);
InBlock.gif                                        Thread.Sleep(1000);
InBlock.gif                                }
InBlock.gif                                 else
InBlock.gif                                {
InBlock.gif                                     js1(tmp);
InBlock.gif                                }
InBlock.gif                        }
InBlock.gif                        
InBlock.gif                }
InBlock.gif
InBlock.gif                 private void th2( object tmp)
InBlock.gif                {
InBlock.gif                         while ( true)
InBlock.gif                        {
InBlock.gif                                 if ( this.InvokeRequired)
InBlock.gif                                {
InBlock.gif                                         this.Invoke( new weituo(js2),tmp);
InBlock.gif                                        Thread.Sleep(1000);
InBlock.gif                                }
InBlock.gif                                 else
InBlock.gif                                {
InBlock.gif                                     js2(tmp);
InBlock.gif                                }
InBlock.gif                        }
InBlock.gif
InBlock.gif                }
InBlock.gif
InBlock.gif                 private void js1( object tmp)
InBlock.gif                {
InBlock.gif                        listBox1.Items.Add( "这里是线程 1 在传递参数:"+tmp);
InBlock.gif                }
InBlock.gif
InBlock.gif                 private void js2( object tmp)
InBlock.gif                {
InBlock.gif                        listBox1.Items.Add( "这里是线程 2 在传递参数:" + tmp);
InBlock.gif                }
InBlock.gif                
InBlock.gif        }
InBlock.gif}
InBlock.gif