avatar
j*e
2
4月15日邮寄到洛杉矶加领馆,现在还没有消息。在processing time上查到洛杉矶的处
理时间是19天,不明白是怎么回事?
向大家请教:这种情况会不会是我有材料不全?若有材料不全,领馆会怎么通知我?我
没有收到任何电话和email。
谢谢!
avatar
w*u
3
最近要写一个多线程的应用, 碰到一些问题,
主线程在一开始就create好4个子线程,子线程一开始wait状态,然后主线程开始往下
走,开始task准备分给子线程,然后broadcast给子线程,自己进入wait状态, 子线程
wakeup,做完task,就wait,做后一个子线程完成后,发信号给主线程,然后wait,
主线程在接到信号后,wakeup,继续下一个task, 然后broadcast。问题是主线程激活
到broadcast时间很短, 而子线程从发信号到wait时间长的话,主线程broadcast的信
号就不会正确叫醒子线程,因为那时的子线程还没有进入wait状态。 如何解决呢?其
实就是要实现一个join的功能,但是又不要释放掉子线程,
avatar
i*n
4
领馆有,不办签证
使馆每个国家只有一个

【在 f*******s 的大作中提到】
: 一直以为武汉有使馆呢。。。昏
avatar
m*h
5
一个月的还米有消息呢。。慢慢等吧。。非常坑。。
avatar
w*u
6
大牛们快来帮帮忙啊
avatar
x*h
7
还不一样啊,长知识了我

【在 i*n 的大作中提到】
: 领馆有,不办签证
: 使馆每个国家只有一个

avatar
h*s
8
19天是老黄历,他们缺人手,都不更新的。
现在得49-59天。

【在 j********e 的大作中提到】
: 4月15日邮寄到洛杉矶加领馆,现在还没有消息。在processing time上查到洛杉矶的处
: 理时间是19天,不明白是怎么回事?
: 向大家请教:这种情况会不会是我有材料不全?若有材料不全,领馆会怎么通知我?我
: 没有收到任何电话和email。
: 谢谢!

avatar
W*o
9
use a lock to synch?

【在 w***u 的大作中提到】
: 最近要写一个多线程的应用, 碰到一些问题,
: 主线程在一开始就create好4个子线程,子线程一开始wait状态,然后主线程开始往下
: 走,开始task准备分给子线程,然后broadcast给子线程,自己进入wait状态, 子线程
: wakeup,做完task,就wait,做后一个子线程完成后,发信号给主线程,然后wait,
: 主线程在接到信号后,wakeup,继续下一个task, 然后broadcast。问题是主线程激活
: 到broadcast时间很短, 而子线程从发信号到wait时间长的话,主线程broadcast的信
: 号就不会正确叫醒子线程,因为那时的子线程还没有进入wait状态。 如何解决呢?其
: 实就是要实现一个join的功能,但是又不要释放掉子线程,

avatar
j*e
10
更新:
5.18 收到寄回的签证,签过
顺祝 签证的朋友都顺利!

【在 j********e 的大作中提到】
: 4月15日邮寄到洛杉矶加领馆,现在还没有消息。在processing time上查到洛杉矶的处
: 理时间是19天,不明白是怎么回事?
: 向大家请教:这种情况会不会是我有材料不全?若有材料不全,领馆会怎么通知我?我
: 没有收到任何电话和email。
: 谢谢!

avatar
p*u
11
most common way is main thread puts tasks on a message queue, and worker
threads pull from it.
i don't understand why ur worker threads hv to sleep/wait. if u hv to do
this, i assume u use a condition variable to broadcast. u can use a mutex-
protected flag to slow main thread down: worker threads set this flag to
true right before they go to sleep/wait; main thread always checks this flag
before it tries to broadcast.

【在 w***u 的大作中提到】
: 最近要写一个多线程的应用, 碰到一些问题,
: 主线程在一开始就create好4个子线程,子线程一开始wait状态,然后主线程开始往下
: 走,开始task准备分给子线程,然后broadcast给子线程,自己进入wait状态, 子线程
: wakeup,做完task,就wait,做后一个子线程完成后,发信号给主线程,然后wait,
: 主线程在接到信号后,wakeup,继续下一个task, 然后broadcast。问题是主线程激活
: 到broadcast时间很短, 而子线程从发信号到wait时间长的话,主线程broadcast的信
: 号就不会正确叫醒子线程,因为那时的子线程还没有进入wait状态。 如何解决呢?其
: 实就是要实现一个join的功能,但是又不要释放掉子线程,

avatar
m*h
12
Congrats and Thank you for updating!
avatar
p*o
13
估计是自己实现的同步逻辑。这个需求用pthread barrier就好。

flag

【在 p*u 的大作中提到】
: most common way is main thread puts tasks on a message queue, and worker
: threads pull from it.
: i don't understand why ur worker threads hv to sleep/wait. if u hv to do
: this, i assume u use a condition variable to broadcast. u can use a mutex-
: protected flag to slow main thread down: worker threads set this flag to
: true right before they go to sleep/wait; main thread always checks this flag
: before it tries to broadcast.

avatar
v*y
14
同意这个,楼主估计不知道boss - worker pattern
boss不需要和worker沟通
boss产生work load, 放入shared queue (用mutex同步)
boss产生work load时,如果queue 满了,就wait on queue_full condition
worker thread从queue中读取work load,如果queue空,就wait on queue_empty
condition
boss, 产生一个word load, signal 在等的work thread去读
work load 除了完了,就signal boss产生新的work load

flag

【在 p*u 的大作中提到】
: most common way is main thread puts tasks on a message queue, and worker
: threads pull from it.
: i don't understand why ur worker threads hv to sleep/wait. if u hv to do
: this, i assume u use a condition variable to broadcast. u can use a mutex-
: protected flag to slow main thread down: worker threads set this flag to
: true right before they go to sleep/wait; main thread always checks this flag
: before it tries to broadcast.

avatar
k*5
15
楼主自己把自己绕晕了,不要考虑什么主,子shread,就看成5个shread,然后各个都
pending/sleep在某个signal或mutex,等被唤醒。
avatar
p*u
16
he needs to explain this better: "子线程从发信号到wait时间长"

【在 k***5 的大作中提到】
: 楼主自己把自己绕晕了,不要考虑什么主,子shread,就看成5个shread,然后各个都
: pending/sleep在某个signal或mutex,等被唤醒。

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