您的位置:首页 > 其它

线程的创建与终止

2012-12-07 14:40 435 查看
/// <summary>
/// 公共线程,主要目的是到时方便关闭thread线程用。
/// </summary>
Thread thread = null;

/// <summary>
/// 开始thread线程.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
//如果thread线程已存在,要先关闭。不写这句,到时侯连续点两次button1按钮后,再点button2就会无效果。
if (thread != null)
{
thread.Abort();
}

thread = new Thread(new ThreadStart(th));
thread.IsBackground = true;
thread.Start();
}

/// <summary>
/// 关闭线程thread
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
if (thread.IsAlive == true)
{
thread.Abort();
}
}

/// <summary>
/// 线程调用的方法
/// </summary>
private void th()
{
while (true)
{
show(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fffffff"));
Thread.Sleep(1);
}
}

/// <summary>
/// 向主界面richTextBox1显示信息,
/// </summary>
/// <param name="message"></param>
private void show(string message)
{
richTextBox1.Invoke(new EventHandler(delegate
{
if (richTextBox1.Text.Length > 5069) richTextBox1.Clear();
richTextBox1.Text += message + Environment.NewLine;
richTextBox1.Select(richTextBox1.Text.Length, 0);
richTextBox1.ScrollToCaret();
}));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: