码迷,mamicode.com
首页 > 其他好文 > 详细

Operating System: Three Easy Pieces --- Pthread Locks (Note)

时间:2015-10-26 13:30:42      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:

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).

Operating System: Three Easy Pieces --- Pthread Locks (Note)

标签:

原文地址:http://www.cnblogs.com/miaoyong/p/4910796.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!