路漫漫其修遠兮,吾將上下而求索
經(jīng)驗淺薄,耐心積累;記性不好,記諸文字
BlogJava
首頁
新隨筆
聯(lián)系
聚合
管理
隨筆-204 評論-149 文章-0 trackbacks-0
POSIX線程和信號量小結
信號量
基本操作
#include
<
semaphore.h
>
int
sem_init(sem_t
*
sem,
int
pshared, unsigned
int
value);
int
sem_wait(sem_t
*
sem);
/**/
/*
P(sem), wait(sem)
*/
int
sem_post(sem_t
*
sem);
/**/
/*
V(sem), signal(sem)
*/
int
sem_getvalue(sem_t
*
sem,
int
*
sval);
int
sem_trywait(sem_t
*
sem);
int
sem_destroy(sem_t
*
sem);
/**/
/*
undo sem_init()
*/
/**/
/*
named semaphores - these are less useful here
*/
sem_t
*
sem_open(
);
int
sem_close(sem_t
*
sem);
int
sem_unlink(
const
char
*
name);
互斥量
基本操作
#include
<
pthread.h
>
int
pthread_mutex_init(pthread_mutex_t
*
mutex, pthread_mutexattr_t
*
attr);
pthread_mutex_t mutex
=
PTHREAD_MUTEX_INITIALIZER;
int
pthread_mutex_lock(pthread_mutex_t
*
mutex);
int
pthread_mutex_unlock(pthread_mutex_t
*
mutex);
int
pthread_mutex_trylock(pthread_mutex_t
*
mutex);
int
pthread_mutex_destroy(pthread_mutex_t
*
mutex);
條件變量
一種信號機制
基本操作
#include
<
pthread.h
>
int
pthread_cond_init(pthread_cond_t
*
cond, pthread_condattr_t
*
attr);
pthread_cond_t cond
=
PTHREAD_COND_INITIALIZER;
int
pthread_cond_wait(pthread_cond_t
*
cond, pthread_mutex_t
*
mutex);
int
pthread_cond_signal(pthread_cond_t
*
cond);
int
pthread_cond_timedwait(
);
int
pthread_cond_broadcast(pthread_cond_t
*
cond);
int
pthread_cond_destroy(pthread_cond_t
*
cond);
互斥量A保護條件變量B
//
等待方
pthread_mutex_lock(
&
A);
while
(
)
{
//
檢查條件是否滿足
pthread_cond_wait(
&
B,
&
A);
}
/**/
/*
wait會隱式解鎖A
*/
/**/
/*
wait后A會被隱式鎖住A
*/
pthread_mutex_unlock(
&
A);
//
通知方
pthread_mutex_lock(
&
A);
pthread_cond_signal(
&
B);
pthread_mutex_unlock(
&
A);
posted on 2009-07-05 01:02
Frank_Fang
閱讀(610)
評論(0)
編輯
收藏
所屬分類:
Linux | ACE網(wǎng)絡編程
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
Posix線程編程指南(5)雜項
Posix線程編程指南(4)
Posix線程編程指南(3)線程同步【轉(zhuǎn)】
Posix線程編程指南(2)線程私有數(shù)據(jù)【轉(zhuǎn)】
Posix線程編程指南(1)線程創(chuàng)建與取消【轉(zhuǎn)】
void類型和void *指針類型(網(wǎng)上摘抄總結)【轉(zhuǎn)】
線程同步:何時互斥鎖不夠,還需要條件變量?
POSIX thread (pthread) 簡介
POSIX線程和信號量小結
Linux下進程的各種狀態(tài)
<
2009年7月
>
日
一
二
三
四
五
六
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(1)
給我留言
查看公開留言
查看私人留言
隨筆分類
(204)
Andriod(2)
bcel javassist(9)
C++編程(23)
Design Pattern(36)
JAVA WS(16)
Java 網(wǎng)絡編程(1)
Java編程(44)
JNI(1)
Linux | ACE網(wǎng)絡編程(13)
Python學習(4)
SSH+JQuery+DWR(39)
數(shù)據(jù)結構與算法(12)
筆試,面試經(jīng)驗(4)
隨筆檔案
(100)
2009年8月 (17)
2009年7月 (21)
2009年6月 (21)
2009年5月 (32)
2009年4月 (9)
收藏夾
(8)
牛人博客文章鏈接(8)
牛人博客鏈接
搜索
最新評論
1.?re: Java transient關鍵字[未登錄]
@AlexSeeker
volatile屏蔽了重排序優(yōu)化
--aa
2.?re: Java transient關鍵字
評論內(nèi)容較長,點擊標題查看
--333
3.?re: Java transient關鍵字
555
--55
4.?re: Java transient關鍵字
很不錯。
--seancheer
5.?re: Java Serializable小結
過來看看
--vacon
閱讀排行榜
1.?Java transient關鍵字(110482)
2.?Struts 注解配置例子及redirect,redirectAction,chain的區(qū)別(25240)
3.?static全局變量與普通的全局變量有什么區(qū)別?static局部變量和普通局部變量有什么區(qū)別?static函數(shù)與普通函數(shù)有什么區(qū)別?(18085)
4.?Java多線程sleep(),join(),interrupt(),wait(),notify()(12814)
5.?線程同步:何時互斥鎖不夠,還需要條件變量?(9240)
評論排行榜
1.?Java transient關鍵字(26)
2.?【轉(zhuǎn)】用 BCEL 設計字節(jié)碼(7)
3.?Struts 注解配置例子及redirect,redirectAction,chain的區(qū)別(6)
4.?Java 內(nèi)存模型及 volatile關鍵字語義(5)
5.?Java多線程sleep(),join(),interrupt(),wait(),notify()(5)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 Frank_Fang
主站蜘蛛池模板:
免费视频精品一区二区三区
|
久久久国产精品无码免费专区
|
日韩免费三级电影
|
亚洲av永久无码精品三区在线4
|
久久久久免费精品国产小说
|
亚洲Av无码精品色午夜
|
亚洲日本VA中文字幕久久道具
|
国产成人精品免费视频动漫
|
亚洲精品第一国产综合精品
|
污视频在线免费观看
|
亚洲AV无码久久精品成人
|
99爱在线观看免费完整版
|
亚洲小视频在线观看
|
嘿嘿嘿视频免费网站在线观看
|
亚洲精品美女在线观看播放
|
中文字幕影片免费在线观看
|
中文字幕亚洲综合小综合在线
|
猫咪社区免费资源在线观看
|
亚洲日韩亚洲另类激情文学
|
国产免费131美女视频
|
亚洲一区二区三区免费
|
亚洲处破女AV日韩精品
|
亚洲视频在线免费看
|
亚洲中文无码mv
|
亚洲精品一级无码中文字幕
|
最近2019中文免费字幕在线观看
|
亚洲bt加勒比一区二区
|
av无码久久久久不卡免费网站
|
亚洲AV男人的天堂在线观看
|
亚洲AV无码成H人在线观看
|
大地影院MV在线观看视频免费
|
亚洲最新视频在线观看
|
久久久www成人免费毛片
|
亚洲av日韩av欧v在线天堂
|
国产精品永久免费
|
亚洲第一精品电影网
|
国产一级淫片a视频免费观看
|
狠狠躁狠狠爱免费视频无码
|
亚洲日本在线播放
|
亚洲AⅤ视频一区二区三区
|
无码囯产精品一区二区免费
|