由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 一道关于lock的面试题
相关主题
MS Azure组面试concurrency应该怎么复习
出个题Multithread
请教一个java Synchronized Blocks和Lock的问题设计题
菜鸟请教多线程怎么学Java concurrency 面试题
问个thread synchronization的问题请教大牛用mutex lock实现reader writer lock
read-write locker的实现C++11里的mutex是不是就相当于java里的lock
LRU的多线程版本,这个答案有问题吗关于java的疑惑
求救:第一次电话面试请教有关bigdata工作的大概面试内容
相关话题的讨论汇总
话题: lock话题: void话题: keytype话题: key话题: reader
进入JobHunting版参与讨论
1 (共1页)
S********t
发帖数: 3431
1
大家都知道lock吧,thread synchronization用的。
这个题目是这样的:
假设我们有一个现成的library提供了基本的reader/writer lock功能:
class Lock {
public:
Lock();
// exclusive writer lock
void GetLock();
void ReleaseLock();
// shared reader lock
void GetReaderLock();
void ReleaseReaderLock();
};
Problem 1: implement a functionality to atomically upgrade a reader lock to
writer lock, if no one else is holding reader lock
Problem 2: implement a functionality to manage lock per keys, i.e.:
template
class LockManager {
void GetLock(KeyType key);
void ReleaseLock(KeyType key);
void GetReaderLock(KeyType key);
void ReleaseReaderLock(KeyType key);
}
requirement:
a. able to lock/unlock on different keys concurrently
b. keep memory space linear to the size of "active keys", i.e., if no one is
holding lock for a key, you need to do garbage collect for that key.
c********t
发帖数: 5706
2
mark
1 (共1页)
进入JobHunting版参与讨论
相关主题
请教有关bigdata工作的大概面试内容问个thread synchronization的问题
G家很喜欢出的一道setRPS设计题read-write locker的实现
问一道Multithread和一道social graph的题LRU的多线程版本,这个答案有问题吗
如何两个线程同时写一个文件求救:第一次电话面试
MS Azure组面试concurrency应该怎么复习
出个题Multithread
请教一个java Synchronized Blocks和Lock的问题设计题
菜鸟请教多线程怎么学Java concurrency 面试题
相关话题的讨论汇总
话题: lock话题: void话题: keytype话题: key话题: reader