操作系统里面经常会用到线程,现在举个窗口弹球的例子讲解一下c#使用线程的方法;
我使用vs2013建了一个windows窗体应用程序,里面的form和类如图所示,
Ball是一个类,里面定义了小球的大小,颜色,动作方向,运动速度等变量,还有move(移动)和draw(画球)两个互斥动作,
UpDataUi是一个刷新界面的类,会刷新几面上小球的运动变化。
FormMain是对球的实例化和线程的创建等的功能实现。
现将线程创建部分的代码显示如下,如果想深入了解线程的使用和委托的使用,可以在我的博客里面找我上传的源代码,里面有详细的注释,名字为BallBouncApp,下载后可以直接用vs2013打开运行,也可以看我写的其他介绍委托和互斥信号量的博客。
Thread th;(必须在form里添加命名空间,代码为:using System.Threading;)
for (int i = 0; i < balls.Length; i++)
{
balls[i].bContinue = true; //修改小球是否继续运动;
th = new Thread(balls[i].Move); //创建动作教程;
th.Start(); //线程开始执行;
}