由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问道多线程的简单题目
相关主题
G家 system design 和 open ended questions一道Iterator题
多线程hashmap。 实现方法讨论滚烫烫的G店面面经
碰到面试官水平太差看不懂答案怎么办?Palantir 2nd coding interview [pass, set for on-site]
菜鸟请教多线程怎么学问个mutex的面试题
一道涉及OO,算法,多线程的设计题请问如何准备多线程问题
贡献T家新鲜面经,求个blesshashmap跟hash table有啥区别?
急求大神指导一道面经刷题网medium题和自己实现一个hashtable,哪个难
请教大侠们hash table 多线程问题交通灯OO design哪道题在哪里可以找到??
相关话题的讨论汇总
话题: mutex话题: hash话题: read话题: bin话题: 要加
进入JobHunting版参与讨论
1 (共1页)
r****o
发帖数: 1950
1
昨天电面,一道题目是
多个线程访问一个hash table, 有三个操作,insert, delete和read,问哪些操作要加
mutex保护,我说3个都要加。
我答得对不对?
s********d
发帖数: 1199
2
追问谁能总结一下
线程之间有哪些通信方式?
进程之间又有哪些方式?

【在 r****o 的大作中提到】
: 昨天电面,一道题目是
: 多个线程访问一个hash table, 有三个操作,insert, delete和read,问哪些操作要加
: mutex保护,我说3个都要加。
: 我答得对不对?

r****o
发帖数: 1950
3
我知道的是:
同一个进程内的线程之间可以通过共享内存通信,
不同进程的线程之间,或者不同进程之间可以通过管道,信号量,socket等来通信。

【在 s********d 的大作中提到】
: 追问谁能总结一下
: 线程之间有哪些通信方式?
: 进程之间又有哪些方式?

s********a
发帖数: 1447
4
read不是必须的吧
x***y
发帖数: 633
5
For read operation, you can not use mutex...Like the read/write lock in
pthread, only write needs exclusive access.....

【在 r****o 的大作中提到】
: 昨天电面,一道题目是
: 多个线程访问一个hash table, 有三个操作,insert, delete和read,问哪些操作要加
: mutex保护,我说3个都要加。
: 我答得对不对?

l*y
发帖数: 21010
6
我记得操作系统里说的是,read可以允许多个read同时进行,但不能read和write同时
进行。所以多个read需要一个lock就够了。

【在 r****o 的大作中提到】
: 我知道的是:
: 同一个进程内的线程之间可以通过共享内存通信,
: 不同进程的线程之间,或者不同进程之间可以通过管道,信号量,socket等来通信。

r****o
发帖数: 1950
7
那是不是说read还是要加mutex的?

【在 l*y 的大作中提到】
: 我记得操作系统里说的是,read可以允许多个read同时进行,但不能read和write同时
: 进行。所以多个read需要一个lock就够了。

r****o
发帖数: 1950
8
说错了,删掉了。
m****n
发帖数: 589
9
那我也删掉吧

【在 r****o 的大作中提到】
: 说错了,删掉了。
x***y
发帖数: 633
10
For concurrency programming, beside mutex, you can also use semaphore,
critical sectoin, cv or block/write locks as synchronization primitives...

【在 r****o 的大作中提到】
: 那是不是说read还是要加mutex的?
相关主题
贡献T家新鲜面经,求个bless一道Iterator题
急求大神指导一道面经滚烫烫的G店面面经
请教大侠们hash table 多线程问题Palantir 2nd coding interview [pass, set for on-site]
进入JobHunting版参与讨论
t******a
发帖数: 1200
11
这道题主要考的不是这个 - 还会有 follow-up 问题的。关键是不要把 hash table
看成是一个黑盒子,搞 hash-table level mutex, 优化的方法要在 hash-table 里
面搞 bin level 的 mutex.

【在 r****o 的大作中提到】
: 昨天电面,一道题目是
: 多个线程访问一个hash table, 有三个操作,insert, delete和read,问哪些操作要加
: mutex保护,我说3个都要加。
: 我答得对不对?

s********a
发帖数: 1447
12
不是很清楚你说的意思
你是不是说 不能 这样
mutex_lock;
hash[index];
mutex_unlock;
怎样搞hash table 里的bin level mutex?

【在 t******a 的大作中提到】
: 这道题主要考的不是这个 - 还会有 follow-up 问题的。关键是不要把 hash table
: 看成是一个黑盒子,搞 hash-table level mutex, 优化的方法要在 hash-table 里
: 面搞 bin level 的 mutex.

t******a
发帖数: 1200
13
Bin level mutex 实现要依赖于 hashtable 的实现。code 写起来其实很简单,
但核心思想是如果不同的 hashkey 映射到不同的 hash bin 里的话,那么对
这两个 hashkey 可以同时进行写操作。
你说的方法,把 hashtable 当成black box, 把所有的方法都搞成互斥的,可以
解决同步问题,但效率低下。出题人问 hashtable 而不是一个 stack/linked list
其实是有原因的

【在 s********a 的大作中提到】
: 不是很清楚你说的意思
: 你是不是说 不能 这样
: mutex_lock;
: hash[index];
: mutex_unlock;
: 怎样搞hash table 里的bin level mutex?

s********a
发帖数: 1447
14
你的意思是不是大概这样子?
int hash(int index) {
......
mutex_lock;
process index;
mutex_unlock;
......
return key;
}

【在 t******a 的大作中提到】
: Bin level mutex 实现要依赖于 hashtable 的实现。code 写起来其实很简单,
: 但核心思想是如果不同的 hashkey 映射到不同的 hash bin 里的话,那么对
: 这两个 hashkey 可以同时进行写操作。
: 你说的方法,把 hashtable 当成black box, 把所有的方法都搞成互斥的,可以
: 解决同步问题,但效率低下。出题人问 hashtable 而不是一个 stack/linked list
: 其实是有原因的

m****u
发帖数: 3915
15
嗯,读写者问题嘛,确实都要加

【在 r****o 的大作中提到】
: 昨天电面,一道题目是
: 多个线程访问一个hash table, 有三个操作,insert, delete和read,问哪些操作要加
: mutex保护,我说3个都要加。
: 我答得对不对?

s******9
发帖数: 84
16
mutex的个数要跟bin的个数一样多。

【在 s********a 的大作中提到】
: 你的意思是不是大概这样子?
: int hash(int index) {
: ......
: mutex_lock;
: process index;
: mutex_unlock;
: ......
: return key;
: }

s******9
发帖数: 84
17
mutex的个数要跟bin的个数一样多。

【在 s********a 的大作中提到】
: 你的意思是不是大概这样子?
: int hash(int index) {
: ......
: mutex_lock;
: process index;
: mutex_unlock;
: ......
: return key;
: }

w****u
发帖数: 3147
18
read 不用其他都要加sync
1 (共1页)
进入JobHunting版参与讨论
相关主题
交通灯OO design哪道题在哪里可以找到??一道涉及OO,算法,多线程的设计题
two functons and two threads贡献T家新鲜面经,求个bless
一道多线程的面试题急求大神指导一道面经
一次没有算法题的面试请教大侠们hash table 多线程问题
G家 system design 和 open ended questions一道Iterator题
多线程hashmap。 实现方法讨论滚烫烫的G店面面经
碰到面试官水平太差看不懂答案怎么办?Palantir 2nd coding interview [pass, set for on-site]
菜鸟请教多线程怎么学问个mutex的面试题
相关话题的讨论汇总
话题: mutex话题: hash话题: read话题: bin话题: 要加