社区
C语言
帖子详情
一个关于线程的面试题。
bestlife
2006-05-22 10:28:48
线程的建立、销毁、线程锁等。要求如下:
1.主线程创建两个子线程,一个每次往缓冲区里写入一个整数,一个每次从缓冲区里读出一个整数。
2.要确保当前缓冲区无数据时不能读,并且读写不能同时进行
——————————————
请问这个缓冲区要设置为正好存放一个整数的大小?还是整数大小的多倍?
如果正好是一个整数的大小的话,那么2个线程互斥读写这个缓冲区和用2个函数依次读写这个缓冲区是不是一样的速度(线程没有起到作用)?
还请高手给这个题目做个解答。
...全文
469
12
打赏
收藏
一个关于线程的面试题。
线程的建立、销毁、线程锁等。要求如下: 1.主线程创建两个子线程,一个每次往缓冲区里写入一个整数,一个每次从缓冲区里读出一个整数。 2.要确保当前缓冲区无数据时不能读,并且读写不能同时进行 —————————————— 请问这个缓冲区要设置为正好存放一个整数的大小?还是整数大小的多倍? 如果正好是一个整数的大小的话,那么2个线程互斥读写这个缓冲区和用2个函数依次读写这个缓冲区是不是一样的速度(线程没有起到作用)? 还请高手给这个题目做个解答。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
eqxu
2006-06-05
打赏
举报
回复
---------------------------------------------------------------------------------
Wolf0403(完美废人·不配奢求幸福)
因为涉及到 OS 的调度、上下文切换,所以不论缓冲区如何安排,在单 CPU 体系上都应该比单线程两个函数读写来的要慢吧。
------------------------------------------------------------------------------------
赞成!!!
除了一些状态信息之类的,最好在一个进程里实现之
Wolf0403
2006-06-05
打赏
举报
回复
对于另外一个问题。。
那么2个线程互斥读写这个缓冲区和用2个函数依次读写这个缓冲区是不是一样的速度(线程没有起到作用)?
因为涉及到 OS 的调度、上下文切换,所以不论缓冲区如何安排,在单 CPU 体系上都应该比单线程两个函数读写来的要慢吧。
吃狼的豆腐
2006-06-04
打赏
举报
回复
这个。。。。。。。。。。
无语ing
MagicCarmack
2006-06-04
打赏
举报
回复
看来偶还得加紧学习啊
我啃
2006-06-03
打赏
举报
回复
http://blog.csdn.net/kenmark/archive/2005/09/16/482341.aspx
hslinux
2006-06-03
打赏
举报
回复
典型的PV操作。
逸学堂
2006-05-23
打赏
举报
回复
典型的读者写者问题,对数据加锁处理即可
屋顶上的老猫
2006-05-23
打赏
举报
回复
首先,你要了解多线程如果是工作在单CPU上,这是根据“时间片”来进行线程的切换!但是这种切换会随机造成共享数据的操作错误(一个典型的问题,就是售票窗口问题)正因为如此才必须要使用“同步机制”,也就是互斥、事件、关键代码段!
两个函数不断切换与多线程有本质上的区别!太多区别中一个最典型的就是:多线程需要操作系统的支持来保证线程函数之间的片切换!
jixingzhong
2006-05-23
打赏
举报
回复
请问这个缓冲区要设置为正好存放一个整数的大小?还是整数大小的多倍?
================================
题目要求的应该是 1 个整数空间。
需要考虑操作同步,
使用 P,V 元语 .....
YFY
2006-05-23
打赏
举报
回复
艾,楼主,这是考察你的思想而已,不要拘泥与具体的整数。
想象成1000*1000的数据,写入要多长时间,读出要多长时间,这段时间如果用函数的话用户响应就丢失了。
如果只是1个整数,直接用个全局变量就ok了,就不需要这样麻烦了。
bestlife
2006-05-22
打赏
举报
回复
如果缓冲区的大小是一次写入和读取的大小,那么用线程来实现轮流读写和用函数依次读写的速度哪个快?
xl5338870
2006-05-22
打赏
举报
回复
典型的读者写者问题,设置一个信号量保护缓冲区就行了。
Java 面经手册·小傅哥.pdf
这是一本以
面试题
为入口讲解 Java 核心内容的技术书籍,书中内容极力的向你证实代码是对数学逻辑的具体实现。当你仔细阅读书籍时,会发现Java中有大量的数学知识,包括:扰动函数、负载因子、拉链寻址、开放寻址、...
多
线程
面试题
(值得收藏)
史上最强多
线程
面试47题(含答案),建议收藏 金九银十快到了,即将进入找工作的高峰期,最新整理的最全多
线程
并发面试47题和答案总结,希望对想进BAT的同学有帮助,由于篇幅较长,建议收藏后细看~ 1、并发编程三要素?...
2021年50道Java
线程
面试题
2017年50道Java
线程
面试题
下面是Java
线程
相关的热门
面试题
,你可以用它来好好准备面试。 1) 什么是
线程
?
线程
是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员...
Java多
线程
面试题
(面试必备)
2.
线程
与进程2.1 什么是
线程
与进程2.2
线程
与进程的区别2.3 用户
线程
与守护
线程
2.4 什么是
线程
死锁2.5 形成死锁的四个必要条件2.6 如何避免死锁3. 创建
线程
的四种方式4.
线程
状态和基本操作 一、多
线程
基础基础...
Java
线程
面试题
合集(含答案)
来源:Java
线程
面试题
下面是我自己收集整理的Java
线程
相关的
面试题
,可以用它来好好准备面试。 参考文档: 《Java核心技术 卷一》 Java
线程
面试题
Top 50:http://www.importnew.com/12773.html JAVA多
线程
和并发...
C语言
69,368
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章