gegege123gege 2016-06-15 03:17 采纳率: 0%
浏览 907

两个相关线程,两者之间的有着数据的关联,如何协调两者之间的关系,是它们顺利运行

线程1 运行函数func1(),线程2运行func2().
func1()
{
for( ... ){
生成一个随机数 a(全局变量);

            pthread_cond_signal( func2);                                    //唤醒func2
            使用生成的随机数 a 进行相关计算,结果为 A1;
            pthread_cond_wait (A2);                                        //等待func2的结果 A2

            等待func2的结果 A2,与A1比较大小;
    }

}

func2()
{
do{
pthread_cond_wait ( a ); //等待func1生成随机数 a;

            等待func1生成一个新的 a ;
            进行运算,生成结果A2;

            pthread_cond_signal ( func2)          //唤醒func1,进行比较
    }

}
两个线程的大体含义是 线程1 生成一个a值,线程1,2都需要该值进行比较。

两个函数内,我使用了pthread_cond_wait()进行协调运行,单是pthread_cond_signal()经常空操作,程序不能正常运行。

各位大神有没有更好的方法来协调两个函数之间的运行。任何方法都可以。

  • 写回答

1条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥15 MATLAB动图的问题
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名