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

关于Linux多线程互斥共享资源

    来源: 互联网  发布时间:2016-04-12

    本文导语:  我现在要解决一个USB口占用和冲突的问题,我用了一个死循环来从控制端口发送请求数据的命令(写),然后通过数据端口来接收设备发送过来的数据(读),写一次读到一桢图像数据,我用了一个死循环来不停的写...

我现在要解决一个USB口占用和冲突的问题,我用了一个死循环来从控制端口发送请求数据的命令(写),然后通过数据端口来接收设备发送过来的数据(读),写一次读到一桢图像数据,我用了一个死循环来不停的写和读,这样我就可以不停的接收图像数据并显示,这样for(;;){write; read; display;} 
而我现在还要在显示图像(即要不停的写和读,而写必须要用控制端口)的同时,通过控制端口发送其它控制命令,如读图像的各种参数给USB设备,设备从这个控制端口再给我回数据,这样{send; recv;}用一个按钮来实现,send要用到控制端口,这样按按钮的时候控制端口有时就会冲突和卡死,请问各位大虾,我这里是不是涉及到了资源的共享,这里在按按钮的时候要停止那个图像数据的传输吗,是的话该怎么实现呢?用信号量?还是互斥锁?想到用这些,但是具体不知道怎么用,请各位大虾指点。

|
看不大懂你的问题.
 不过看来起来, 控制端口和数据端口是两个不同东西, 而其你顺序来的,应该不会涉及资源冲突的问题.是不是你的 USB driver不是很稳定?

|
用锁,大概思路是原子操作:

send_and_read(...)
{
    lock(); 
    send();
    read();
    unlock();
}

|
知道用锁用信号量了,就去google锁和信号量的用法呀

|
      mfd = open("/tmp/myapp", O_WRONLY|O_CREAT);

               if(mfd 

    
 
 

您可能感兴趣的文章:

  • linux进程同步或互斥
  • 在linux下,如何进行“互斥”和“并发”的控制?
  • linux/unix里的进程互斥问题 ,有关lockf()函数!
  • 请教linux irq 中断能使用mutex互斥锁吗?
  • Linux下使用C++互斥访问文件+消息队列
  • 请教如何在qt-linux环境下两个cpp文件中对同一个数组作读写互斥操作?
  • linux下临界区和互斥锁的关系
  • Linux下多线程互斥问题
  • linux下两块网卡出现互斥,如何解决,急
  • linux c进程互斥
  • 求助:linux 用户态 线程同步中信号量、互斥量、锁之间的区别?
  • 新手请教一个linux下互斥量访问输出错误的问题
  • 寻求 Linux 进程互斥的方法,谢谢!
  • 在linux中用C语言编程时怎么实现互斥?
  • linux 下互斥锁问题
  • Linux c++ 消费者 生产者 互斥同步 问题
  • Linux线程管理必备:解析互斥量与条件变量的详解
  • 我想知道LINUX如何与WIN98,WIN2000共享资源?
  • linux的信号处理函数中如何访问共享资源
  • 请问在LINUX系统里如何访问其他LINUX系统的网络共享资源?在线等!!!!!!!!!!!!!!!!!!!!!!
  • 一台机器上的linux和windows系统之间如何共享资源
  • 请问在redhat linux7.0 下如何访问lan中win98共享出来的资源!一定给分!!
  • 我在windows xp下用vmware装了linux,能不能实现资源共享?
  • 如何实现linux和win2000下的资源共享?
  • 求助samba配置问题,windows无法访问linux共享的资源
  • linux中如何在局域网中与其他WINDOWS系列操作系统实现资源共享? iis7站长之家
  • linux技术资料0资源分共享给各位!
  • 利用samba把linux和windows资源共享无法访问,急..
  • 【★0分资源共享 之 android/linux/wince技术资料★】
  • 关于linux与windows组对等网的方法以及如何配制共享资源
  • 关于两台LINUX机器资源共享的问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Windows和Linux下C++类成员方法作为线程函数方法介绍
  • 请问Linux核心支持多线程吗?开发库有线程库吗?线程好用吗?(稳定?)
  • Linux下GCC内置原子操作函数(多线程资源访问)介绍
  • 求个linux多线程编程的例子,要有线程池的 通用些更好
  • 请问Linux下线程开销为什么这么大?一个线程要占用近10M内存
  • Linux多线程时一些线程分不到时间片
  • 说说windows线程和linux线程的区别?
  • linux 下多线程 每个线程能否使用alarm来处理,信号是否会乱呢?
  • linux下,如何在多线程中每个线程设置一个定时器,在线等,急。。。谢谢
  • 在创建linux线程时为什么会多一个线程?
  • linux如何主动将线程放入到线程调度队列中重新排队?
  • 在linux RH73下为什么单进程只能开1021个线程线程.
  • Linux下如何让主线程挂起一个指定的时间段而子线程继续运行?谢谢
  • LINUX下有没有线程概念,和WIN下线程概念有什么不同,谢谢.
  • linux线程编程问题
  • linux线程最大数,奇怪,怎么只有300?而且线程是用完就没了,不是同时300啊!
  • 跪求:linux下pthread 双线程计算和单线程的运行时间完全相同是为什么?
  • linux线程与进程的问题
  • linux 下子线程不能执行的问题?
  • linux多线程编程的问题
  • linux多线程编程
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux


  • 站内导航:


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

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

    浙ICP备11055608号-3