Clr Via C#读书笔记----基元线程同步构造

线程文章:http://www.cnblogs.com/edisonchou/p/4848131.html

重点在于多个线程同时访问,保持线程的同步。

线程同步的问题:

1,线程同步比较繁琐,而且容易写错。

2,线程同步会损害性能,获取和释放一个锁是需要时间。

3,线程同步一次只允许一个线程访问资源。

类库和线程安全

一个线程安全的发那个发意味着两个线程试图同时访问数据时,数据不会被破坏。

基元用户模式和内核模式构造

基元:指代码中最简单的构造,有两种基元构造:用户模式和内核模式。

1,基元用户模式比基元内核模式速度要快,因为直接使用特殊的cpu指令来协调线程,在硬件中发生的。

2,基元用户模式构造缺点,只有windows操作系统内核才能停止一个线程的运行。用户模式中运行线程可能被抢占,但是会最快的速度进行调度,导致取得一个资源但又暂时去不到一个线程会让程序一直在用户模式中运行,浪费时间。

3,基元内核模式构造:windows操作系统自身提供,应用程序线程调用在系统内核中实现的函数。会将线程从用户模式切换到内核模式(或相反)导致巨大性能损失。优点:调用线程会阻塞线程,但不会浪费CPU时间。

3,混合构造:将基元用户模式和基元内核模式优势结合起来

用户模式构造:

分为两种基元用户模式线程同步构造:易失构造  和  互锁构造

易失构造:包含在一个简单数据类型的上执行原子性或读或写操作

互锁构造:包含在一个简单数据类型的变量执行原子性的读和写操作

上一篇:Mvc public virtual DbQuery Include("")


下一篇:centos7 firewalld 开放端口