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

全局变量问题求助

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

    本文导语:  问题大致如下:     有一个链表, 两个线程。 链表的起始地址存放在一个全局标量中。 两个线程,线程一不定期的向链表中添加节点和删除节点,线程二每隔5分钟去遍历一下这个链表,遍历完后将这个链表清...

问题大致如下:
    有一个链表, 两个线程。 链表的起始地址存放在一个全局标量中。 两个线程,线程一不定期的向链表中添加节点和删除节点,线程二每隔5分钟去遍历一下这个链表,遍历完后将这个链表清空。
    现在问题就来了,假如线程一和线程二同时操作这个链表该怎么办啊?还有,假如线程二遍历完了链表,正要清空链表, 这时线程一要向链表中添加节点该咋办啊?

   群里的高手们能不能给一个简单可行的解决方案啊? 尽量说的详细点,不要只说个用互斥锁、条件变量等来实现, 这个谁都会说的。 

|
互斥量(或者无名信号量也行) s 初值为1

thread1
sem_wait( &s )
向链表中添加节点和删除节点
sem_post( &s );

thread2
sem_wait( &s )
遍历链表,遍历完后将这个链表清空
sem_post( &s )

这样每次只有1个人在做,保证互斥。

    
 
 

您可能感兴趣的文章:

  • 全局结构体变量和全局结构体指针变量
  • static全局变量与普通的全局变量的区别详细解析
  • 在一个进程中我定义了几个全局变量,然后我又fork了几个子进程,子进程中是否可以各自对全局变量进行修改,如果各子进程都对其进行修改,
  • 在JBUILDER中如何使用全局变量,最好举一个例子。我也不知道在哪里定义全局变量?
  • 动态库中的变量(全局和自动变量)在什么地方存储,内存在什么位置分配?
  • linux动态链接库里全局变量和静态变量会导致动态库不可重入吗?
  • Java中怎样定义全局变量???
  • PHP 超全局变量库 superGlobals
  • 网卡驱动使用全局变量
  • PHP static局部静态变量和全局静态变量总结
  • JQuery中使用Ajax赋值给全局变量失败异常的解决方法 iis7站长之家
  • 多进程中的全局变量问题,多谢帮忙!!!!
  • linux内核怎么定义汇编全局变量及在c文件中使用这个变量?有关0。11下的字符回显
  • linux中大量的全局变量怎么体现结构化的程序设计?
  • 求解关于全局变量的问题
  • 条件编译可以使用全局变量吗?
  • 如何不通过全局变量和静态变量与模态对话框进行数据交换?
  • C# 全局变量的学习小结
  • 除了全局变量,线程还可以通过哪些方法向定时器传递数据?
  • jsp中怎样定义全局变量
  • 求助,JSP与Servlet之间可以引用全局变量吗(Session范围的)?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • GNOME全局菜单 gnome2-globalmenu
  • 关于java类的全局变量问题
  • 全局路径匹配 GPAMatching
  • asp.net读取本地与全局资料文件的代码
  • 全局唯一ID生成服务 snowflake
  • 如何使连接池成为全局的?
  • 请问,uboot的命令函数,能否调用全局变量
  • JQuery中使用Ajax赋值给全局变量失败异常的解决方法
  • 传说很难的一个问题--全局变量问题
  • 模块编程中对内核全局变量引用的问题
  • linux内核全局变量定义问题!
  • debian下用脚本设置 全局变量的问题
  • 建一个linux共享库(.so.x.x文件)里边包含类、全局变量,结构体等
  • QT下如何定义全局变量
  • JQuery中使用Ajax赋值给全局变量异常的解决方法
  • 全局脚本是何文件?
  • 一个简单的全局变量的问题
  • 如何用c实现生成一个类似windows下uuid的全局唯一串的算法
  • java的应用程序中如何定义一个全局变量,在程序的任何地方都可以修改使用?
  • 怎么把一个命令设为全局可见的呢?


  • 站内导航:


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

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

    浙ICP备11055608号-3