zoukankan      html  css  js  c++  java
  • Clr Via C#读书笔记----基元线程同步构造

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

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

    线程同步的问题:

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

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

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

    类库和线程安全

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

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

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

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

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

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

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

    用户模式构造:

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

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

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

  • 相关阅读:
    Window frames[]集合(转)
    ObjectDataSource 如何传递查询参数
    前台如何解析json格式 以及后台如何生成json格式
    Burrows–Wheeler transform
    windows xp中安装PadWalker
    ORA01207:文件比控制文件更新 旧的控制文件
    如何看懂NCBI BLAST输出结果
    Perl getopts
    blast formatdb 使用方法介绍
    Randfold安装
  • 原文地址:https://www.cnblogs.com/changrulin/p/4801626.html
Copyright © 2011-2022 走看看