c#多线程

自己的总结

1当一个线程,从起点执行到函数的 末端, 这个线程就已经执行完毕,会被自动关闭,

2 线程间的通信, 是static ManualResetEvent  ,默认参数是false.  如果一个线程希望 暂停, 调用 ManualResetEvent. WaitOne(); 线程就会暂停,直到Thread.Handle的信号,才会接着执行.

3 当一个线程想要通知 其他正在等待的线程继续执行的时候    同样要调用  ManualResetEvent .Set();  让暂停的线程从暂停的地方接着执行, 如果想让暂停的线程从头执行,就调用ManualResetEvent.Reset();

4 C# lock关键字,C#提供了一个关键字lock,它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。  

new ThreadStart(acc.DoTransactions)

lock (obj)
{

}

原文地址:https://www.cnblogs.com/zey23/p/3382223.html