当前位置:  技术问答>linux和unix

关于互斥访问共享变量的问题(菜鸟求高手)

    来源: 互联网  发布时间:2017-02-26

    本文导语:  会的话应该很简单吧!程序中的两个线程各自把counter加5次,但不知道为什么(val+1)总是1的?求解惑求解答 #include #include #include #define NLOOP 5 int counter;/*incremented by threads*/ pthread_mutex_t work_mutex; void * increase(void ...

会的话应该很简单吧!程序中的两个线程各自把counter加5次,但不知道为什么(val+1)总是1的?求解惑求解答

#include
#include
#include

#define NLOOP 5

int counter;/*incremented by threads*/

pthread_mutex_t work_mutex;

void * increase(void * vptr);
int main(int argc,char** argv)
{
pthread_t threadIdA,threadIdB;
if(pthread_mutex_init(&work_mutex,NULL)!=0){
perror("Mutex init failed");
exit(1);
}
pthread_create(&threadIdA,NULL,&increase,NULL);
pthread_create(&threadIdB,NULL,&increase,NULL);

/*wait for both threads to terminate*/
pthread_join(threadIdA,NULL);
pthread_join(threadIdB,NULL);
pthread_mutex_destroy(&work_mutex);
return 0;
}

void* increase(void *vptr)
{
        int i,val;
        if(pthread_mutex_lock(&work_mutex)!=0){
                perror("Lock failed");
                exit(1);
        }
for(i=0;i

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 互斥锁的一个问题
  • 在下面这段代码中,如果对init方法只加synchronized关键字,则不能达到互斥的目的,还要再加上static关键字才能互斥,为什么?
  • wince程序防止创建多个实例实现互斥作用
  • 信号量和互斥锁有什么区别??
  • linux进程同步或互斥
  • 进程对串口读写时使用互斥机制吗?
  • 在linux下,如何进行“互斥”和“并发”的控制?
  • 信号量可以用于多进程多线程同时互斥不?
  • 多线程调用ioctl 应在哪进行互斥操作?
  • 关于用文件实现进程互斥的问题
  • 问个多线程网络服务程序的文件操作符的互斥问题
  • 请教POSIX问题:一个进程中,可以有多个互斥锁麽?
  • 用户态能否实现信号量机制,来提供线程间互斥和同步的功能?
  • linux/unix里的进程互斥问题 ,有关lockf()函数!
  • 关于内核互斥体的问题
  • 互斥锁和信号量,能不能实现先阻塞先唤醒,顺序获取互斥锁和信号量
  • 信号量互斥问题
  • 关于文件读些互斥的问题
  • c语言实现程序互斥问题 急.....
  • 求助 程序中添加互斥锁代码后编译怎么通不过 ?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3