1.使用lock关键字来实现多线程
lock(new program)
{
console.writeline("锁定线程");
consolereadline();
}
原理:lock'确保线程完整运行,不被其他线程中断。
2.minitor驱动对象来实现线程的的同步
void locktThread()
{
monitor.enter(this);
console.writeline("锁定线程");
monitor.exit(this);
}
原理:
monitor类提供的同步对对象的访问机制,他通过单线程授予对象锁定来控制对象的访问,对象提供限制代码块的能力。
3.mutex实现线程的同步
mutex类是同步基元,它只想线程授予对共享资源的独占访问权。
void locktThread()
{
mutex my=new mutex();
my.waitOne();
console.writeline("锁定线程");
my.releaseMutex();
}
其中mutex专门为.net 平台设计的,它能更好的利用资源。看着资料,加上自己理解,就这么多了,希望别人有帮助。
|