Redian新闻
>
windows phone用c++,c#编程。大家有转到wp developer的吗?
avatar
windows phone用c++,c#编程。大家有转到wp developer的吗?# PDA - 掌中宝
t*e
1
Implements a thread safe version of hash table. it should support
concurrent reads but protects on write.
Please paste your code.
avatar
c*e
2
工资多少?
avatar
C*y
3
最简单的,每个bucket上加个锁
还有lock free的,俺没研究过

【在 t*****e 的大作中提到】
: Implements a thread safe version of hash table. it should support
: concurrent reads but protects on write.
: Please paste your code.

avatar
c*c
4
恐怕目前也就钱多的没地方烧的几个公司感兴趣wp developer了。
wp用户就那么点,就算进了那些钱多公司恐怕也只是三等公民,总是以iphone,
android app优先的
avatar
C*y
5
看错了,如果只要concurrent read的话,一个rw lock就可以了

【在 C***y 的大作中提到】
: 最简单的,每个bucket上加个锁
: 还有lock free的,俺没研究过

avatar
i*7
6
求大牛随便写一写。这种要加Lock的问题实在不明白实际操作。

【在 C***y 的大作中提到】
: 看错了,如果只要concurrent read的话,一个rw lock就可以了
avatar
C*y
7
假设你有个rw lock class
class rwlock{
pubic:
void getReadLock();
void releaseReadLock();
void getWriteLock();
void releaseWriteLock();
};
然后你可以在你的hash table的class里面加个 rwlock的data member
class htable{
private:
rwlock m_lock;
};
在find方法里可以用r lock,insert 方法里面用w lock
void htable::find(...)
{
m_lock.getReadLock();
.
.
.
m_lock.releaseReadLock();
}
void htable::insert(...)
{
m_lock.getWriteLock();
.
.
.
m_lock.releaseWriteLock();
}
get 和release可以用一个auto class包装起来,这样你就不用手动调用release了

【在 i*********7 的大作中提到】
: 求大牛随便写一写。这种要加Lock的问题实在不明白实际操作。
avatar
i*7
8
实际运用里,c++或java都是用什么类做lock的?还是要像你这样自己写?

【在 C***y 的大作中提到】
: 假设你有个rw lock class
: class rwlock{
: pubic:
: void getReadLock();
: void releaseReadLock();
: void getWriteLock();
: void releaseWriteLock();
: };
: 然后你可以在你的hash table的class里面加个 rwlock的data member
: class htable{

avatar
C*y
9
俺们是自己写的。。。
应该有些标准的实现,但是俺不熟悉

【在 i*********7 的大作中提到】
: 实际运用里,c++或java都是用什么类做lock的?还是要像你这样自己写?
avatar
w*z
11
Java 有concurrent hash map, 拿source code 看看。

【在 i*********7 的大作中提到】
: 实际运用里,c++或java都是用什么类做lock的?还是要像你这样自己写?
avatar
h*e
12
建议看Doug Lea等人写的关于Java concurrency的书。他的网站上也有
不少source code:
http://g.oswego.edu/
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。