欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來(lái)到入門教程網(wǎng)!

C#教程

當(dāng)前位置:主頁(yè) > 軟件編程 > C#教程 >

C#停止線程的方法

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C#教程|點(diǎn)擊: 次

本文實(shí)例講述了C#停止線程的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:

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;
namespace WinFormApp
{
 public partial class Form1 : Form
 {
  System.Threading.CancellationTokenSource cancel = new System.Threading.CancellationTokenSource();
  System.Threading.Thread[] thread;
  int len = 2;
  public Form1()
  {
   InitializeComponent();
   thread = new System.Threading.Thread[len];
  }
  void RunThread()
  {
   ThreadInvoke.SetEventInvokeValue(richTextBox1, "即將開始運(yùn)行線程.");
   System.Threading.Thread t = null;
   for (int i = 0; i < len; i++)
   {
    t = new System.Threading.Thread(new System.Threading.ThreadStart(Sample));
    t.Name = "thread_0" + i.ToString();
    t.IsBackground = true;
    thread.SetValue(t, i);
    t.Start();
   }
  }
  void Sample()
  {
   string name = System.Threading.Thread.CurrentThread.Name;
   ThreadInvoke.SetEventInvokeValue(richTextBox1, "正在運(yùn)行線程:" + name);
   while (true)
   {
    if (cancel.IsCancellationRequested)
    {
     ThreadInvoke.SetEventInvokeValue(richTextBox1, "線程:" + name + " 停止運(yùn)行...");
     //線程被終止后回調(diào)
     cancel.Token.Register(delegate
     {
      ThreadInvoke.SetEventInvokeValue(richTextBox1, "線程:" + name + " 停止運(yùn)行之后的回調(diào)函數(shù)...");
     });
     break;
    }
   }
  }
  void ShowStatu()
  {
   StringBuilder sb = new StringBuilder();
   for (int i = 0; i < len; i++)
   {
    if (thread[i].IsAlive == true)
    {
     sb.AppendLine("線程:" + thread[i].Name.ToString() + " 還在運(yùn)行...");
    }
   }
   if (sb.ToString() == "")
   {
    sb.AppendLine("線程已經(jīng)全部停止...");
   }
   richTextBox1.Text += sb.ToString();
  }
  /// <summary>
  /// 開始運(yùn)行線程
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="e"></param>
  private void button1_Click(object sender, EventArgs e)
  {
   RunThread();
  }
  /// <summary>
  /// 顯示所有的線程狀態(tài)
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="e"></param>
  private void button2_Click(object sender, EventArgs e)
  {
   ShowStatu();
  }
  /// <summary>
  /// 終止所有的線程
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="e"></param>
  private void button3_Click(object sender, EventArgs e)
  {
   cancel.Cancel();
  }
 }
}

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

上一篇:WinForm實(shí)現(xiàn)仿視頻 器左下角滾動(dòng)新聞效果的方法

欄    目:C#教程

下一篇:C#實(shí)現(xiàn)txt定位指定行完整實(shí)例

本文標(biāo)題:C#停止線程的方法

本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/7050.html

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有