Chinaunix首页 | 论坛 | 博客
  • 博客访问: 444552
  • 博文数量: 293
  • 博客积分: 4204
  • 博客等级: 上校
  • 技术积分: 3060
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-21 10:27
个人简介

nobody

文章分类

全部博文(293)

文章存档

2014年(27)

2013年(105)

2012年(41)

2011年(109)

2010年(11)

分类:

2011-02-25 14:39:37

1 什么时候需要同步?

2 在linux中, 线程同步机制有哪些?各适用在怎样的条件?进程同步有哪些?对应的数据类型、API 各有哪些?
在当前的POSIX标准中有三种线程同步机制,它们分别是:互斥量、读写锁、条件变量。
关于进程同步机制,POSIX定义了一种信号灯,而system V 定义了另外一种信号灯。

 互斥量:
pthread_mutex_t 
pthread_mutex_init();
pthread_mutex_lock();
pthread_mutex_unlock();
pthread_mutex_destroy();

读写锁:
pthread_rwlock_t
pthread_rwlock_init();
pthread_rwlock_rdlock();
pthread_rwlock_wrlock();
pthread_rwlock_unlock();
pthread_rwlock_destroy();

条件变量:
pthread_cond_t
pthread_cond_init();
pthreadf_cond_wait();
pthread_cond_signal();
pthread_cond_destroy();

POSIX信号灯:
sem_t
sem_open();
sem_init();
sem_wait();
sem_post();
sem_close();
sem_unlink();

SysV信号灯:
semget();
semop();
semctl();
3 线程同步机制和进程同步机制有什么区别?哪个使用的范围更大?
显然进程同步机制可以用于线程同步,而线程同步机制不能用于进程同步。
阅读(3841) | 评论(3) | 转发(0) |
0

上一篇:shell functions (prt 2 )

下一篇:some tips

给主人留下些什么吧!~~

GFree_Wind2011-03-01 21:25:02

呵呵,我没有严格区分。在我看来,share memory也是一种数据的同步呵。

linlan9992011-03-01 09:49:56

GFree_Wind: share memory这么快速的同步机制,怎么能漏下呢
share memory 是一种IPC 吧,不是同步机制吧

GFree_Wind2011-02-28 22:07:58

share memory这么快速的同步机制,怎么能漏下呢