社区
Linux/Unix社区
帖子详情
线程A写、线程B读,能做到互不等待吗
u俺的me
2020-12-29 11:19:39
线程A往125MB的BUF写数据(1秒就能填满)、另一个线程B从BUF取数据(速率稍微慢一点),能否做到线程B取数据时、线程A还能继续往BUF填充数据?
不知道我有没有描述清楚,其实就是想提高线程B的发送效率,不至于在线程B取数据时、线程A处于等待状态,不想用锁。
...全文
6248
5
打赏
收藏
线程A写、线程B读,能做到互不等待吗
线程A往125MB的BUF写数据(1秒就能填满)、另一个线程B从BUF取数据(速率稍微慢一点),能否做到线程B取数据时、线程A还能继续往BUF填充数据? 不知道我有没有描述清楚,其实就是想提高线程B的发送效率,不至于在线程B取数据时、线程A处于等待状态,不想用锁。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Kyph
2021-01-07
打赏
举报
回复
这是典型的生产者和消费者的问题,可以做到免锁。
gChickenRun
2021-01-04
打赏
举报
回复
把125mb的BUF能分成多个buf,形成一个队列。
qq_27767117
2020-12-30
打赏
举报
回复
这样有意义吗?即使线程同时运行,内存也不能同时读写.
niuiic
2020-12-29
打赏
举报
回复
不能提高B速率的情况下,想要节省资源可以考虑在软件层面模拟一下中断。底层硬件解决速率匹配问题就是这么做的。
RedWolf1999
2020-12-29
打赏
举报
回复
B读的慢,那你写肯定有大把时间是在等待,除非你用两个Buf,或三个Buf。
线程
练习||
写
两个
线程
,一个
线程
打印1~52,另一个
线程
打印A~Z,打印顺序是12A34B....5152Z
题目描述:
写
两个
线程
,一个
线程
打印1~52,另一个
线程
打印A~Z,打印顺序是12A34B....5152Z 分析: 两个
线程
,一个负责打印数字,一个负责打印字母,细心的我发现字母是26个,数字是52个,两者是2倍的关系,而且打印的结果中两个数(可以使十位的)配一个字母,所以可以利用循环进行打印,循环26次即可。 这里我们用两个锁,用锁的目的就是
线程
各自进行,
互不
打扰,当到临界条件时,我不...
Java八股文(
线程
-下)
在Java中,死锁是指两个或多个
线程
永久地被阻塞,它们都在
等待
对方释放锁。这通常发生在每个
线程
持有一些资源并且
等待
获取其他
线程
持有的资源时,如果没有外力干预,这些
线程
都无法继续执行。例如,假设有两个
线程
:
线程
1和
线程
2,以及两个锁:锁A和锁B。如果
线程
1持有锁A并且尝试获取锁B,同时
线程
2持有锁B并且尝试获取锁A,那么这两个
线程
就会相互
等待
,导致死锁。避免嵌套锁:尽量避免一个
线程
同时获取多个锁。如果确实需要,确保总是以相同的顺序获取锁。使用超时:可以使用tryLock()方法(在。
java中两个
线程
互不
干扰_java 多
线程
并发问题总结
java 多
线程
并发主要通过关键字synchronized实现Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个
线程
执行该段代码。一、当两个并发
线程
访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个
线程
得到执行。另一个
线程
必须
等待
当前
线程
执行完这个代码块以后才能执行该代码块。二、然而,同一对象中的
线程
...
Linux 多
线程
”一
写
多
读
” 模式下的无锁设计
缘起 双buffer “无锁” 设计 指针的切换 ptr 竞争条件的解决 指针访问丢失 延伸 结语 缘起 在linux多
线程
环境下对同一变量进行
读
写
时,经常会遇到
读
写
的原子性问题,即会出现竞争条件。为了解决多个
线程
对同一变量访问时的竞争条件问题,操作系统层面提供了锁、信号量、条件变量等几种
线程
同步机制。如果对变量的每次访问都使用上述机制,由于系统调用会陷入内核空间,需要频繁...
多
线程
(一):创建
线程
和
线程
的常用方法
一:为什么要学多
线程
应付面试 :多
线程
几乎是面试中必问的题,所以掌握一定的基础知识是必须的。 了解并发编程:实际工作中很少
写
多
线程
的代码,这部分代码一般都被人封装起来了,在业务中使用多
线程
的机会也不是很多(看具体项目),但是作为一个高级程序员如果不会多
线程
是说不过去的。 二:进程与
线程
进程 进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。程序运行时系统...
Linux/Unix社区
23,215
社区成员
74,540
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章