Redian新闻
>
请问thin film pilot line是什么?中文怎么翻?
avatar
请问thin film pilot line是什么?中文怎么翻?# Engineering - 工程
c*n
1
在java 里面notify() notifyAll() 必须是在synchronized block/method 里面, 用同
一个
object ( 的自带lock ) 保护。 但是C 里面conditional var 的mutex 可以分开,
pthread_cond_signal 不需要mutex , 所以pthread_cond_signal 也可以在critical
section 以外, 比如如下code.... 逻辑上将,放到critical section 外, 可能就
是原
来认为可以ready 放signal 的条件已经变化了, 所以signal 是false alarm, 但是多
扔个
signal 也没有什么问题。所以cond_signal() 那出来也没有什么问题。 各位看看
有什么问
题么? 谢谢
void * producer(void *ID) {
int id = (int)ID;
while ( 1 ) {
pthread_mutex_lock(&full_mutex);
while ( count
avatar
l*n
2
请问thin film pilot line是什么?中文怎么翻?谢谢
avatar
q*u
3
如果producer和consumer都是while(1)的无限循环,
那pthread_cond应该有两个吧

在java 里面notify() notifyAll() 必须是在synchronized block/method 里面, 用同
一个
object ( 的自带lock ) 保护。 但是C 里面conditional var 的mutex 可以分开,
pthread_cond_signal 不需要mutex , 所以pthread_cond_signal 也可以在critical
section 以外, 比如如下code.... 逻辑上将,放到critical section 外, 可能就
是原
来认为可以ready 放signal 的条件已经变化了, 所以signal 是false alarm, 但是多
扔个
signal 也没有什么问题。所以cond_signal() 那出来也没有什么问题。 各位看看
有什么问
题么? 谢谢
void * producer(void *ID) {
int id = (int)ID;
while ( 1 )

【在 c******n 的大作中提到】
: 在java 里面notify() notifyAll() 必须是在synchronized block/method 里面, 用同
: 一个
: object ( 的自带lock ) 保护。 但是C 里面conditional var 的mutex 可以分开,
: pthread_cond_signal 不需要mutex , 所以pthread_cond_signal 也可以在critical
: section 以外, 比如如下code.... 逻辑上将,放到critical section 外, 可能就
: 是原
: 来认为可以ready 放signal 的条件已经变化了, 所以signal 是false alarm, 但是多
: 扔个
: signal 也没有什么问题。所以cond_signal() 那出来也没有什么问题。 各位看看
: 有什么问

avatar
c*n
4
yeah, thanks
that's the point, it looks sending more signals never hurts .... :)
using 1 instead of 2 conds would give more false alarms, just like
moving the cond_signal outside of critical section

用同

【在 q*********u 的大作中提到】
: 如果producer和consumer都是while(1)的无限循环,
: 那pthread_cond应该有两个吧
:
: 在java 里面notify() notifyAll() 必须是在synchronized block/method 里面, 用同
: 一个
: object ( 的自带lock ) 保护。 但是C 里面conditional var 的mutex 可以分开,
: pthread_cond_signal 不需要mutex , 所以pthread_cond_signal 也可以在critical
: section 以外, 比如如下code.... 逻辑上将,放到critical section 外, 可能就
: 是原
: 来认为可以ready 放signal 的条件已经变化了, 所以signal 是false alarm, 但是多

avatar
q*u
5
false alarm, 这个ms很恰当

yeah, thanks
that's the point, it looks sending more signals never hurts .... :)
using 1 instead of 2 conds would give more false alarms, just like
moving the cond_signal outside of critical section
用同

【在 c******n 的大作中提到】
: yeah, thanks
: that's the point, it looks sending more signals never hurts .... :)
: using 1 instead of 2 conds would give more false alarms, just like
: moving the cond_signal outside of critical section
:
: 用同

avatar
c*n
6
I mean, when 2 producers block because it's full, then after one producer
gets waken up, the waken up producer adds count, sends a signal on the
cond: "count not empty now", then the other producer might be waken up by
the signal, thinking it's "count not full". so it's a false alarm.

【在 q*********u 的大作中提到】
: false alarm, 这个ms很恰当
:
: yeah, thanks
: that's the point, it looks sending more signals never hurts .... :)
: using 1 instead of 2 conds would give more false alarms, just like
: moving the cond_signal outside of critical section
: 用同

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。