主要解决以下委托:
通过线程执行持续监控任务,将监控返回的结果展现到界面上。
涉及:线程,委托
思路顺序:
按钮点击创建 线程 -----》线程指向委托 -----》委托的方法执行监控任务并返回监控结果
需要的相关引用
using System.Threading;
按钮创建线程
private void button4_Click(object sender, EventArgs e)
{
//timer1.Start();
Thread tLock = new Thread(t => { ThreadDeadLock(); });
tLock.Start();
textBox2.Text = "监控死锁开始:" + DateTime.Now.ToString();
}
线程调用的方法:
注释的部分是线程方法中使用委托来调用任务方法DeadLockCheck。
我们为了能将任务方法DeadLockCheck的结果返回到界面控件上所以使用了窗体的
this.BeginInvoke 的方式来获取结果。
private void ThreadDeadLock()
{
if (this.InvokeRequired)
{
string msg = "";
this.BeginInvoke(DeadLockCheck);