zoukankan      html  css  js  c++  java
  • Operating System: Three Easy Pieces --- Pthread Locks (Note)

    The name that the POSIX library uses for a lock is a mutex, as it is used to provide mutual

    exclusion between threads, i.e., if one thread is in the critical section, it excludes the others

    from entering until it has completed the section. Thus, when you see the following POSIX

    threads code, you should understand that it is doing the same thing as above (we again use

    wrappers that check for errors upon lock and unlock):

    pthread_mutex_t lock  = PTHREAD_MUTEX_INITITALIZED;

    pthread_mutex_lock(&lock);

    balance = balance + 1;

    pthread_mutex_unlock(&lock);

    You might also notice here that the POSIX version passes a variable to lock and unlock, as we

    may be using different locks to protect different variables. Doing so can increase concurrency:

    instead of one big lock that is used any time any critical section is accessed (a coarse-gained

    locking strategy), one will often protect different data and data structures with different locks,

    thus allowing more threads to be in locked code at once (a more fine-grained approach).

  • 相关阅读:
    day5模块
    day5时间复杂度
    day5冒泡排序
    day4正则表达式
    C语言 经典编程100题
    C语言 第八章 函数、指针与宏
    C语言 第七章 数组与字符串
    C语言 第六章 多重循环
    C语言 第五章 循环结构
    C语言 第四章 分支结构练习
  • 原文地址:https://www.cnblogs.com/miaoyong/p/4910796.html
Copyright © 2011-2022 走看看