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

大家帮看一下代码啊,有一个小错误找不出来

    来源: 互联网  发布时间:2016-10-25

    本文导语:  #include #include #include #include #include #include #include #include #define N 3 pthread_mutex_t mutex_w,mutex_r; // 定义读写互斥锁  sem_t sem_w,sem_r; //定义读写信号量   int data[N]; int pos=0; void *function_w(void *arg) {  int w = *(int *)arg;  pos = w;...


#include
#include
#include
#include
#include
#include
#include
#include
#define N 3
pthread_mutex_t mutex_w,mutex_r; // 定义读写互斥锁 
sem_t sem_w,sem_r; //定义读写信号量  
int data[N];
int pos=0;
void *function_w(void *arg)
{  int w = *(int *)arg; 
pos = w; while(1) 
{  usleep(100000);  
sem_wait(&sem_w);//等待可写的资源   
pthread_mutex_lock(&mutex_w);//禁止别的线程写此资源   
data[pos] = w;  w++;  w++;  w++;  pos++;  pos=pos%N;  
thread_mutex_unlock(&mutex_w);//别的线程可写此资源   
sem_post(&sem_r);// 释放一个读资源 
} return (void *)0;
}
void *function_r(void *arg)

while(1) 
{  
sem_wait(&sem_r);//等待可读的资源   
pthread_mutex_lock(&mutex_r);//禁止别的线程读此资源   
printf("%dn",data[(pos+N-1)%N]);  
pthread_mutex_unlock(&mutex_r);//别的线程可读此资源   
sem_post(&sem_w);// 释放一个写资源
}
 return (void *)0;
}
int main(int argc, char **argv)

pthread_t thread[2*N]; int i;  
pthread_mutex_init(&mutex_w,NULL); 
pthread_mutex_init(&mutex_r,NULL); 
sem_init(&sem_w,0,N); 
sem_init(&sem_r,0,0);  
for(i=0;i

    
 
 

您可能感兴趣的文章:

  • 求几行代码: 打开终端设备并读入几个字符(替代scanf),再显示出来。
  • 请问WINDOWS泄露出来的源代码是用什么写的??
  • 刚下载一个内核源代码,怎样将它编译出来,然后安装运行呢?
  • 使用gcc编译器进行代码编译出来的程序是否遵循gpl协议
  • 我想要一个把Java编出来的代码,编译成像C++一样的可执行本机代码。推荐一个工具。谢谢!
  • 请问那里有开放源代码的论坛(用java),一个月要做出来,帮忙呀
  • 把 CDATA 中的内容(有可能是不规范的Html代码)以Html方式展现出来。
  • 请帮我看看这段代码 我调不出来
  • 接收邮件时出错,以下是俺从论坛里面搜出来并且经过修改后的一段代码,请各位大侠指教,谢谢!!!
  • 我按照书上的代码输入程序,想画图,但怎么什么也画不出来?真急人,哪怕我现在能画一个点也好啊.
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • javascript 添加到收藏夹和书签代码示例
  • 在JBuilder中,为什么编写的代码中,当代码出现关键字时,后面的部分代码就移位了,当在有关键字的那些代码行进行选择时,也会出现鼠标位
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • 为什么两行代码间不加入其他代码就崩溃,而加入了日志代码后就不崩溃?
  • JSP中清空cookie代码参考
  • 在ubuntu8.10 新立得中安装anjuta,为什么没有代码提示功能,怎么做才有,还有自动代码补全和代码提示有什么区别,
  • Python获取网页编码的方法及示例代码
  • 到底怎么样的代码算是有效代码?请教了。。
  • HTML网页中的html body onload自动跳转方法介绍及自动跳转代码示例
  • 如果要研究源代码以提高自己,哪一个开放源代码的软件比较合适?
  • php通过socket_bind()设置IP地址代码示例
  • linux源代码的时间函数源代码
  • 在ubuntu8.10 新立得中安装anjuta,为什么没有代码提示功能,怎么做才有,还有自动代码补全和代码提示有什么区别, iis7站长之家
  • gdb的时候代码 next显示的代码乱了
  • 通过javascript库JQuery实现页面跳转功能代码
  • 源代码!源代码!
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • 哪位会使用代码保护工具WingGuard来保护java代码?
  • HTML网页的Meta Refresh自动跳转方法介绍及Meta Refresh自动跳转代码示例
  • 如何得到C语言代码对应的汇编代码?
  • Linux c++虚函数(virtual function)简单用法示例代码
  • RedHat Linux是开放源代码的吗?如何能看见它的源代码,如何进行修改?


  • 站内导航:


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

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

    浙ICP备11055608号-3