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

使用条件变量和互斥量的例子,中间有些地方看不懂,求帮忙解释一下,

    来源: 互联网  发布时间:2017-03-29

    本文导语:  #include  struct msg{ struct msg *m_next; }; struct msg *workq; pthread_cond_t qready = PTHREAD_COND_INITIALIZER; pthread_mutex_t qlock = PTHREAD_MUTEX_INITIALIZER; void process_msg(void) { struct msg *mp; for(;;){    pthread_mutex_lock(&qlock);    while(...

#include 

struct msg{
struct msg *m_next;
};

struct msg *workq;

pthread_cond_t qready = PTHREAD_COND_INITIALIZER;
pthread_mutex_t qlock = PTHREAD_MUTEX_INITIALIZER;

void process_msg(void)
{
struct msg *mp;
for(;;){
   pthread_mutex_lock(&qlock);
   while(workq==NULL)
pthread_cond_wait(&qready,&qlock);
mp=workq;//????????????
workq=mp->m_next;//这里2行什么意思是用到队列了吗???
pthread_mutex_unlock(&qlock);
}
}
void enqueue_msg(struct msg *mp)
{
pthread_mutex_lock(&qlock);
mp->m_next = workq;//????????
workq = mp;//?????????????
pthread_mutex_unlock(&qlock);
pthread_cond_signal(&qready);
}
int main(void)
{
return 0;
}

|
看代码不就是消息的入队出队操作吗?

    
 
 

您可能感兴趣的文章:

  • 进程对串口读写时使用互斥机制吗?
  • 线程里互斥和条件变量一起使用的问题,有点迷惑.
  • 请教linux irq 中断能使用mutex互斥锁吗?
  • 使用swap指令和Test and set指令设计一个解决N个进程互斥问题的算法
  • Linux下使用C++互斥访问文件+消息队列
  • 请教高人:同一个套接字(做客户端)连接到server后在不同子进程里使用能否不采取互斥措施收发?
  • 关于pthread_wait和互斥锁配合的使用问题
  • 使用TSL命令实现进程同步和互斥来防止竞争条件!
  • 线程中互斥量的使用问题
  • 条件变量和互斥量结合的使用问题
  • java/j2ee iis7站长之家
  • linux 下设置环境变量 使用了setenv 和putenv 在程序结束以后 发现变量又变回去了
  • 如何在若干个类中使用同样的变量?变量的值在一个类中赋予,在其它类中调用。
  • linux内核怎么定义汇编全局变量及在c文件中使用这个变量?有关0。11下的字符回显
  • 在shell中使用mail函数的时候如何使用变量
  • 在JBUILDER中如何使用全局变量,最好举一个例子。我也不知道在哪里定义全局变量?
  • 网卡驱动使用全局变量
  • 在ACC变成中要使用发ftp传送文件,但文件名不确定,请问怎么样在程序的FTP中使用字符串变量???
  • 请教:使用什么命令查看导出的环境变量?
  • gdb中使用set给变量赋值的问题
  • Makefile中的变量先使用后定义的问题
  • 条件编译可以使用全局变量吗?
  • 请问使用crontab是否必须设置环境变量?
  • 关于指针变量,struct 变量,指针使用的一些疑惑,望高手指教
  • 怎么样在JSP中使用PHP的变量呀??
  • 如何在Servlet中使用Application变量?
  • RADHAT下怎样使用PATH变量
  • 有没有方法可以使用脚本批量修改bash环境变量
  • 在线等,sed中可以使用变量吗?
  • [请问]如果在sed命令使用环境变量
  • awk程序中使用shell的变量
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 哪位高手可以提供使用C/C++编CGI程序中,使用和设置Cookie的例子。为谢!!!
  • 谁有使用sharetop的webchart的JSP例子呀
  • 100分求java +VC6.0使用JNI的最简单例子
  • sql server 使用ntile获取数据的例子
  • 请问sun的jwsdk的例子中jsp为什么不能使用?
  • 求glib2的使用例子
  • 恳求一个使用frame的JSP例子程序
  • 在borland下载的30天j2ee试用版,它的sample例子怎么不好使用!
  • 哪位有信号量和共享内存同时使用的例子??高分
  • 请问网上何处有关于JUnit的使用例子程序?
  • 需要一个完整的使用jakarta的digester的例子(很简单的也行)。
  • sql 游标的使用—游标FOR循环小例子
  • jsp中如何使用控件,用过的高手给个例子看看。定给分!!!先谢了。。。
  • linux中使用哪个命令可以得到对方机器的mac地址??给个例子
  • python使用PyFetion来发送短信的例子
  • php使用mkdir创建多级目录入门例子
  • 一个删选数据的例子,使用GROUP、DISTINCT实例解析
  • 使用bin-log日志还原数据库的例子
  • python中使用urllib2获取http请求状态码的代码例子
  • 在线等待:jsp内置对象的详细使用例子.要代码.如果给出详细资料也可考虑给分.100大洋伺候.
  • C++ I/O 成员 tellg():使用输入流读取流指针
  • 在测试memset函数的执行效率时,分为使用Cash和不使用Cash辆种方式,该如何控制是否使用缓存?
  • C++ I/O 成员 tellp():使用输出流读取流指针
  • 求ibm6000的中文使用手册 !从来没用过服务器,现在急需使用它,不知如何使用! 急!!!!!
  • Python不使用print而直接输出二进制字符串
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • Office 2010 Module模式下使用VBA Addressof
  • 急求结果!!假设一个有两个元素的信号量集S,表示了一个磁带驱动器系统,其中进程1使用磁带机A,进程2同时使用磁带机A和B,进程3使用磁带机B。
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • c#中SAPI使用总结——SpVoice的使用方法
  • tcmalloc内存泄露优化c++开源库下载,安装及使用介绍


  • 站内导航:


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

    ©2012-2021,