BBS水木清华站∶精华区

发信人: minskey (fatty), 信区: Unix        
标  题: 新手请教 
发信站: BBS 水木清华站 (Sun Apr 23 15:46:45 2000) 
 
请问:UNIX 下,有象 InterLockedIncre()和INterLockDecr() 
这样,可以同步一个全程量的函数或系统调用吗? 
-- 
 
This a test 
This a  test 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.173.136] 
发信人: mafie (浪人~樱花盛开,风情万种), 信区: Unix        
标  题: Re: 新手请教 
发信站: BBS 水木清华站 (Sun Apr 23 15:51:07 2000) 
 
【 在 minskey (fatty) 的大作中提到: 】 
∶ 请问:UNIX 下,有象 InterLockedIncre()和INterLockDecr() 
∶ 这样,可以同步一个全程量的函数或系统调用吗� 
 
有是有的。pthread_cond_t和pthread_mutex_t合作可以完成 
互斥和同步的操作。但是仅限于线程间。进程间可以用信号量, 
不过要稍微复杂一点。 
 
-- 
※ 来源:·BBS 水木清华站 smth.org·[FROM: sap1.cs.tsinghu] 
发信人: Looser (为了爱,梦一生), 信区: Unix        
标  题: Re: 新手请教 
发信站: BBS 水木清华站 (Sun Apr 23 16:56:10 2000) 
 
我的意思是: 
在WINDOWS中,为防止多个线成访问同一个全程量,如: 
int count; 
InterlockIncre(&count); 
  count++; 
....... 
InterlockDecre(&count); 
在WINDOWS中,可防止多个CPU的线成访问count, 
在UNIX中,应怎样做? 
多谢!THX 
pthread_cond_t和pthread_mutex_t是不是一定要定义一个互斥变量:(好象 
叫pthread_mutex,不知对不对? 
 
【 在 mafie (浪人~樱花盛开,风情万种) 的大作中提到: 】 
∶ 有是有的。pthread_cond_t和pthread_mutex_t合作可以完成 
∶ 互斥和同步的操作。但是仅限于线程间。进程间可以用信号量, 
∶ 不过要稍微复杂一点。 
 
 
-- 
有一种爱永远也无法说出口, 
  就象那孤独夜空,熊熊燃烧的野火 
(但是,我。。。。。。 
 
※ 修改:·Looser 於 Apr 23 16:59:20 修改本文·[FROM: 166.111.173.136] 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.173.136] 
发信人: mafie (浪人~樱花盛开,风情万种), 信区: Unix        
标  题: Re: 新手请教 
发信站: BBS 水木清华站 (Sun Apr 23 17:13:03 2000) 
 
【 在 Looser (为了爱,梦一生) 的大作中提到: 】 
∶ 我的意思是: 
∶ 在WINDOWS中,为防止多个线成访问同一个全程量,如: 
∶ int count; 
∶ InterlockIncre(&count); 
∶   count++; 
∶ ....... 
∶ InterlockDecre(&count); 
∶ 在WINDOWS中,可防止多个CPU的线成访问count, 
∶ 在UNIX中,应怎样做? 
∶ 多谢!THX 
∶ pthread_cond_t和pthread_mutex_t是不是一定要定义一个互斥变量:(好象 
∶ 叫pthread_mutex,不知对不对? 
 
按照你的意思,pthread_mutex_t就够用了,对每个要互斥的变量 
定义一个pthread_mutex_t变量就行了 
 
example: 
        int     count; 
        pthread_mutex_lock(&pthread_mutext_t variable); 
        count++; 
        pthread_mutex_unlock(&pthread_mutex_t variable); 
 
-- 
※ 来源:·BBS 水木清华站 smth.org·[FROM: sap1.cs.tsinghu] 
发信人: Looser (为了爱,梦一生), 信区: Unix        
标  题: Re: 新手请教 
发信站: BBS 水木清华站 (Sun Apr 23 17:28:28 2000) 
 
实在太感谢你这么热心。 
若非急着将一个东东移到UNIX下,也不会这么麻烦你。 
再次谢谢@@@@ 
【 在 mafie (浪人~樱花盛开,风情万种) 的大作中提到: 】 
∶ 按照你的意思,pthread_mutex_t就够用了,对每个要互斥的变量 
∶ 定义一个pthread_mutex_t变量就行了 
∶ example: 
∶         int     count; 
∶         pthread_mutex_lock(&pthread_mutext_t variable); 
∶         count++; 
∶         pthread_mutex_unlock(&pthread_mutex_t variable); 
 
 
-- 
有一种爱永远也无法说出口, 
  就象那孤独夜空,熊熊燃烧的野火 
(但是,我。。。。。。 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.173.136] 

BBS水木清华站∶精华区