j*****y 发帖数: 1071 | 1 开始寒暄了一下差不多10分钟的简历
写一个 queue的类
template
class queue
{
};
构造函数里面传递 queue的大小(capacity)
后来还问了 mutlthreading 下如何考虑, 感觉这个没答好,
应该直接说mutex整个queue就完事了,我当时说用 producer/consumer
,这个其实不太好弄
还就是没做 一个check, 比如如果 queque myqueque(-5), 这个时候
用户输入一个 负数 size怎么办. 不过整个过程也没有给我指出这个.
求bless |
w****a 发帖数: 710 | |
l*******b 发帖数: 2586 | |
c********r 发帖数: 286 | 4 Bless!!
是实现blocking queue吗? |
t*********h 发帖数: 941 | 5 bless
【在 j*****y 的大作中提到】 : 开始寒暄了一下差不多10分钟的简历 : 写一个 queue的类 : template : class queue : { : }; : 构造函数里面传递 queue的大小(capacity) : 后来还问了 mutlthreading 下如何考虑, 感觉这个没答好, : 应该直接说mutex整个queue就完事了,我当时说用 producer/consumer : ,这个其实不太好弄
|
j*****y 发帖数: 1071 | 6 thanks.
【在 w****a 的大作中提到】 : 感谢楼主,Bless!
|
j*****y 发帖数: 1071 | 7 thanks.
【在 l*******b 的大作中提到】 : bless !
|
j*****y 发帖数: 1071 | 8 我不知道 blocking queque
只是需要多线程情况下怎么考虑实现queue
thanks.
【在 c********r 的大作中提到】 : Bless!! : 是实现blocking queue吗?
|
j*****y 发帖数: 1071 | 9 thanks.
【在 t*********h 的大作中提到】 : bless
|
c********t 发帖数: 5706 | 10 bless!
第一问,你是用linkedlist做的吗?
第二问,我的理解是定义syncronized就好了吧
【在 j*****y 的大作中提到】 : 开始寒暄了一下差不多10分钟的简历 : 写一个 queue的类 : template : class queue : { : }; : 构造函数里面传递 queue的大小(capacity) : 后来还问了 mutlthreading 下如何考虑, 感觉这个没答好, : 应该直接说mutex整个queue就完事了,我当时说用 producer/consumer : ,这个其实不太好弄
|
|
|
j*****y 发帖数: 1071 | 11 thanks.
我用的是 array
你的这个是 java的吧, 我用的是c++. 本来是想用 producer/consumer的model
但是涉及到 queue的size不好弄,感觉应该用一个 mutex锁住整个queue就得了的
【在 c********t 的大作中提到】 : bless! : 第一问,你是用linkedlist做的吗? : 第二问,我的理解是定义syncronized就好了吧
|
c********t 发帖数: 5706 | 12 哦,那我觉得mutex应该可以
【在 j*****y 的大作中提到】 : thanks. : 我用的是 array : 你的这个是 java的吧, 我用的是c++. 本来是想用 producer/consumer的model : 但是涉及到 queue的size不好弄,感觉应该用一个 mutex锁住整个queue就得了的
|
y***u 发帖数: 205 | 13 只用mutex会增加不必要的contention吧?是不是还是用producer/consumer,但是用一
个很大(Max Q size)的semaphore,然后动态的管理内存(区别实际Q大小和理论最大值
),这样更好? |
j*****y 发帖数: 1071 | 14 我当时是这么讲的, producer 管理 push, consumer 管理 pop, 多个 producer的话
就需要对于head的操作用mutex, 多个 consumer 的话就需要对 tail的操作用 mutex
但是假如需要返回 size呢? 这个得到size的操作就不好搞了
【在 y***u 的大作中提到】 : 只用mutex会增加不必要的contention吧?是不是还是用producer/consumer,但是用一 : 个很大(Max Q size)的semaphore,然后动态的管理内存(区别实际Q大小和理论最大值 : ),这样更好?
|
y***u 发帖数: 205 | 15 这样head和tail的节点如果相同是不是有问题?新head指向旧tail,但是旧tail已经
dequeue了。
感觉还是用emptyslot和fullslot两个semaphore,和整个Q的mutex。返回size操作不涉
及Q里面数据更新,所以就是一个snapshot吧,不用加mutex吧? |
a********3 发帖数: 228 | 16 programmer interview exposed里好像有一个用三个semaphore(分别管empty, full,
write)实现concurrent queue的题。
另外问lz,F家你从申请到schedule电面要多久?我的申请一直没人理。 |
j*****y 发帖数: 1071 | 17 我这个很快,一个礼拜就安排了
,
【在 a********3 的大作中提到】 : programmer interview exposed里好像有一个用三个semaphore(分别管empty, full, : write)实现concurrent queue的题。 : 另外问lz,F家你从申请到schedule电面要多久?我的申请一直没人理。
|
a********3 发帖数: 228 | |
j*****y 发帖数: 1071 | 19 thanks.
【在 a********3 的大作中提到】 : 季度羡慕,+bless
|
B*******1 发帖数: 2454 | 20 大牛的狗家咋样了
★ 发自iPhone App: ChineseWeb 7.8
【在 j*****y 的大作中提到】 : thanks.
|
j*****y 发帖数: 1071 | 21 上次reschedule 了, 过两天去 fight :)
thanks.
【在 B*******1 的大作中提到】 : 大牛的狗家咋样了 : : ★ 发自iPhone App: ChineseWeb 7.8
|