由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - Pthread一个牵涉两个线程同步,每轮先串行后并行的问题
相关主题
再次请教关于AIX中线程以及优先级的问题关于线程读写全局变量的问题
重复利用threads的问题C++ 有没有像go routine/channel 一样的库/框架?
如何GDB调试因pthread_cond_wait()阻塞的线程? (转载)Python 多线程或多进程如何搞
怎么 kill 一个 thread 啊看到python的multiprocessing心中一痛
怎么知道一个线程结束没有?问个线程同步的问题
[合集] 为什么多个线程生成的随机数是一样的?java的同步问题请教
请教一个c语言实现多线程的问题问一下可能性,MingW生成的DLL和MSVC生成的DLL两个线程同步
在main()里面创建了几个线程,如何等待所有线程都结束?Pthread support on Windows XP
相关话题的讨论汇总
话题: t1话题: t2话题: 并行话题: tl2a话题: 同步
进入Programming版参与讨论
1 (共1页)
d****f
发帖数: 313
1
工作中牵涉到一个稍微复杂一点的线程同步问题,问题描述如下:
有两个thread:t1和t2
1、t1做N个时间步,t2做一个时间步(都是差分时间步),换句话说每个t2和N个t1同步
2、同步时,t1和t2要交换一下数据,t1先传1个链表tL1给t2,t2用这个tL1算两个链表
值(DataProcess),tL2a,tL2b,一个要回传给t1(tL2a,之后t1的N步都要用到这个tL2a
),另一个tL2b是t2下一步自己计算要用到的,这个过程是串行(原来并行的强制串行
).
3、交换完数据,t1和t2各自完成自己时间步计算,这个过程中t1做一个积分(N步),
t2解一个方程,无论哪个先完成,都需要等到双方都完成了,才能开始下一轮的计算(
也就是回到2),这个过程是并行的.
我贴了一个简单的框架,只是保证t1做一步,t2做一步,因为刚开始接触并行内容,所
以请各位大牛指点一下,这个每轮先串行后并行的过程如何实现,比如是不是需要两个
mutex,两个condition variable,等等,希望我已经描述清楚了, 谢谢!
//------------------------------
t****t
发帖数: 6806
2
for t1 and t2 waiting each other, use pthread_barrier_t. see pthread
document.

同步
tL2a

【在 d****f 的大作中提到】
: 工作中牵涉到一个稍微复杂一点的线程同步问题,问题描述如下:
: 有两个thread:t1和t2
: 1、t1做N个时间步,t2做一个时间步(都是差分时间步),换句话说每个t2和N个t1同步
: 2、同步时,t1和t2要交换一下数据,t1先传1个链表tL1给t2,t2用这个tL1算两个链表
: 值(DataProcess),tL2a,tL2b,一个要回传给t1(tL2a,之后t1的N步都要用到这个tL2a
: ),另一个tL2b是t2下一步自己计算要用到的,这个过程是串行(原来并行的强制串行
: ).
: 3、交换完数据,t1和t2各自完成自己时间步计算,这个过程中t1做一个积分(N步),
: t2解一个方程,无论哪个先完成,都需要等到双方都完成了,才能开始下一轮的计算(
: 也就是回到2),这个过程是并行的.

c*******9
发帖数: 6411
3
who is 多隆?
X****r
发帖数: 3557
4
http://bbs.cn.yimg.com/user_img/200804/25/m*****[email protected]_120909245311748
7.jpg

【在 c*******9 的大作中提到】
: who is 多隆?
1 (共1页)
进入Programming版参与讨论
相关主题
Pthread support on Windows XP怎么知道一个线程结束没有?
help on pthreads.....[合集] 为什么多个线程生成的随机数是一样的?
简单问题的有限差分请教一个c语言实现多线程的问题
如何在VC++下把raw图像快速写到硬盘里呢?在main()里面创建了几个线程,如何等待所有线程都结束?
再次请教关于AIX中线程以及优先级的问题关于线程读写全局变量的问题
重复利用threads的问题C++ 有没有像go routine/channel 一样的库/框架?
如何GDB调试因pthread_cond_wait()阻塞的线程? (转载)Python 多线程或多进程如何搞
怎么 kill 一个 thread 啊看到python的multiprocessing心中一痛
相关话题的讨论汇总
话题: t1话题: t2话题: 并行话题: tl2a话题: 同步