C#线程学习

Thread.IsBackground = true
把线程设为后台线程可以使前台线程(如Main()的线程)结束后,后台线程立即停止,否则这个线程会在执行完以后才停止

Thread.Jion();
在当前线程执行完以后才进入后面的程序,如等待线程被释放
Thread.Abort();
终止线程

ThreadStart(WaitCallBack);
其实就是个委托:public delegate void ThreadStart(),但是用自定义的委托代替不了ThreadStart,只是所有线程代理的函数只能是无参无返回的。

C#中有一种匿名线程的方法,可以方便启动线程,其实应该叫做匿名委托,在MSDN查匿名委托就会有这方面的知识 

void SimpeProcess()
{
       Thread aThread
=new Thread(delegate()
       {
       
//process code
       })
       aThread.Start();
}

 

线程中同步问题:一个线程要写入一变量,同时其他线程读取或写入同一个变量,可使用lock关键字解决,当然lock块内的编码应当越少越好

顺便提一下Lock关键字的实质其实就是Monitor.Enter()和Monitor.Exit()。

Lock
lock(x)
{

}
posted @ 2007-12-03 20:06  湘西小刁民  阅读(303)  评论(0编辑  收藏  举报