大家好,香香来为大家解答以上的问题。存在背景这个很多人还不知道,现在让我们一起来看看吧!
1、首先不是为了多线程而多线程,多线程会极大的带来额外的出错的几率。
2、C#中第一个打开窗口的线程是主线程,也是处理UI的线程,最好保持这个线程通畅,即不要有阻塞操作,如Thread.Sleep(10);等这样是不好的。
3、耗时的线程需要打开新的线程来操作,而且最好把IsBackground属性设为True。
4、这样在所有前台线程推出后,这些后台线程也自动退出。
5、 手写俩例子,有错自己查!!一、首先初始化一个线程,需要一个threadStart实例,Thread的构造函数 public Thread(ThreadStart threadStart)那就再看threadStart的构造函数public threadStart(Delegate delegate)需要一个委托。
6、直接用函数名也可以。
7、比如你要另开一线呈执行的一个方法名为 newThread那就如下ThreadStart ThreadS=new ThreadStart(newThread);Thread t=new Thread(ThreadS);t.Start();二、using System;using System.Collections.Generic;using SystemponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Threading;namespace ConsoleApplication3{public partial class Form1 : Form{private Thread th1, th2;public Form1(){InitializeComponent(); }public void thOpr1(){Application.Run(new Form2());}public void thOpr2(){Application.Run(new Form3());}public static void Main(String[] args){Application.Run(new Form1());}private void button1_Click(object sender, EventArgs e){th1 = new Thread(new ThreadStart(thOpr1));th2 = new Thread(new ThreadStart(thOpr2));th1.Start();th2.Start();}}}。
本文到此分享完毕,希望对大家有所帮助。