完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
如题:
线程 A_pthread 线程 B_pthread 线程 C_Server_pthread 线程 D_Send_pthread 结构体 声明,, 在父进程申请空间, 定义指针指向该空间,将该指针传入以上 四个线程, 各个线程能够通过 该 传入的指针,对结构体变量进项修改 四个线程根据各自需要 A线程对结构体部分变量 进行写数据, B线程对结构体部分变量 进行写数据, C线程对结构体内部分 数据 有读有写, D线程对结构体内部分 数据 有读有写, 结构体数据较多,各线程 ,对根据自己的需要改变 结构体内数据的值,,但 B改变结构体内的某个数据,D要能够实时监测。 反应到屏幕上,, 问题:线程需要 互斥吗? 怎么设计??若互锁的话。。。就不能实现 B.D线程间的数据 实时 共享了(在B 进程中 while循环采集数据,在采样时是会阻塞在那 , 获取数据 返回给 结构体相应变量,若互锁的话。D就会 等B采样完毕,才 更新屏幕数据的!!)????怎么办?还有这么好的线程间共享数据的办法?????? |
|
相关推荐
6个回答
|
|
早 已解决,没那么复杂。。。呵呵。。。多线程编程,嘿嘿,我考虑多了,线程锁,pv原语,信号量,,,,,,啦啦。。研究数据库··············
|
|
|
|
回帖奖励 +2 分积分
求解Labview中如何解决两个线程相互影响的问题。比如说数据采集,一个采集快,另一个采集就慢了。。。。
|
|
|
|
具体问题没看明白,一般而言,缓解CPU处理数据慢的话,一般用栈,或队列,将数据缓存一下,你说的“一个采集快,另一个采集就慢了”要是在两个线程的话,一般是分时的,CPU会有自己的调度,不会有什么影响,两线层可以认为是同步的。你用用进程也可以,进程更独立一些,虽然占用资源多一些。声明我是说LINUX下的, |
|
|
|
你可以用同步啊,PV原语,即线程A采集完数据,就让线程B采集,线层B采集完,线程A再启动采集,不就好了?二着交替采集,不过数据实时性很高的话,你就得设置数据缓存区了。。。 |
|
|
|
就是实时性要求很高啊。不知道数据缓存区怎么设置呢?在网上看了很多资料,还有说分核处理的。是不是相当复杂啊 |
|
|
|
线程数据同步就用信号量
|
|
|
|
只有小组成员才能发言,加入小组>>
「含关键代码」基于AM3352/AM3354/AM3359的Linux开发案例分享
4892 浏览 0 评论
87409 浏览 0 评论
【高手问答】如何做到精通linux技术?资深工程师带你突破难点
4723 浏览 2 评论
3617 浏览 2 评论
解读Linux :先从创建一个文件夹用来存放jdk压缩文件开始
2481 浏览 0 评论
1997浏览 3评论
1283浏览 1评论
求解:aarch64交叉编译工具已经安装成功,环境变量已经配置,怎么将系统架构切换为ARM的架构
1341浏览 0评论
电脑和虚拟机可以互ping,电脑和开发板也可以互ping,但是虚拟机和开发板ping不通是什么原因
1233浏览 0评论
1173浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 12:19 , Processed in 1.282279 second(s), Total 86, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号