在C#中怎样运用多线程[MTAThread]
发布网友
发布时间:2024-10-01 15:02
我来回答
共3个回答
热心网友
时间:2024-12-10 14:16
首先不是为了多线程而多线程,多线程会极大的带来额外的出错的几率。
C#中第一个打开窗口的线程是主线程,也是处理UI的线程,最好保持这个线程通畅,即不要有阻塞操作,如Thread.Sleep(10);等这样是不好的。
耗时的线程需要打开新的线程来操作,而且最好把IsBackground属性设为True。这样在所有前台线程推出后,这些后台线程也自动退出。
热心网友
时间:2024-12-10 14:16
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 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();
}
}
}
热心网友
时间:2024-12-10 14:17
参考 C#高级编程 第13章..