public partial class FrmThread : Form
{
public FrmThread()
{
InitializeComponent();
}
private Thread thread = null;
private int counter = 0;
//【1】开启
private void btnStart_Click(object sender, EventArgs e)
{
thread = new Thread(() =>
{
while (true)
{
try
{
Thread.Sleep(500);
lblInfo.Invoke(new Action(() =>
{
lblInfo.Text += counter++ + ",";
}));
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + " 异常位置:" + counter++);
}
}
});
thread.Start();
}
//暂停
private void btnSuspend_Click(object sender, EventArgs e)
{
if (thread.ThreadState == ThreadState.Running ||
thread.ThreadState == ThreadState.WaitSleepJoin)
{
thread.Suspend();
}
}
//继续
private void btnResume_Click(object sender, EventArgs e)
{
if (thread.ThreadState == ThreadState.Suspended )
{
thread.Resume();
}
}
//中断
private void btnInterrupt_Click(object sender, EventArgs e)
{
thread.Interrupt();
}
//终止
private void btnAbort_Click(object sender, EventArgs e)
{
thread.Abort();
}
}