基本信息
源码名称:C#多线程操作
源码大小:0.04M
文件格式:.zip
开发语言:C#
更新时间:2016-11-09
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 2 元 
   源码介绍

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 Thread_Test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //声明3个线程
        Thread th1; 
        Thread th2; 
        Thread th3;

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            //退出界面,关闭线程
            th1.Abort();
            th2.Abort();
            th3.Abort();
        }


        private void button1_Click(object sender, EventArgs e)
        {
            th1 = new Thread(new ThreadStart(Run1)); //固定写法
            th2 = new Thread(new ThreadStart(Run2));
            th3 = new Thread(new ThreadStart(Run3));
            
            th1.Priority = ThreadPriority.Highest; //设置优先级
            th2.Priority = ThreadPriority.AboveNormal;
            th3.Priority = ThreadPriority.Normal;
            
            th1.Name = "aa"; //设置名字
            th2.Name = "bb";
            th3.Name = "cc";
            
            th1.Start(); //启动线程
            th2.Start();
            th3.Start();

            //下面这句代码,解决:线程间操作无效: 从不是创建控件
            Control.CheckForIllegalCrossThreadCalls = false;
        }


        private void Run1()
        {
            for (int i = 0; i < 500; i  )
            {
                //this.progressBar1.Value = i; 
                textBox1.Text = i.ToString();
                Thread.Sleep(100);
            }
        }

        private void Run2()
        {
            for (int i = 0; i < 500; i  )
            {
                //this.progressBar2.Value = i;
                textBox2.Text = i.ToString();
                Thread.Sleep(100);
            }
        }

        private void Run3()
        {
            for (int i = 0; i < 500; i  )
            {
                //this.progressBar3.Value = i; 
                textBox3.Text = i.ToString();
                Thread.Sleep(100);
            }
        }




    }
}