c语言全局变量,,,的问题,,

博客探讨了C语言全局变量在多线程环境下的问题,遇到的问题包括线程同步和变量状态不一致。提出了两种解决方案:1) 定制测试API以确保线程安全;2) 在库中进行多线程操作,通过返回值传递数据。目前,由于全局变量未生效,导致JS调用的函数2无法获取到正确的数据。
摘要由CSDN通过智能技术生成

问题分析:

1.线程前后顺序有问题?

2.两个api算两次调用,所以变量存在不同的地址。

 

验证,

异步,js单线程,要看结果,只能单独扩展api,

如何解决,

直接修改接口。添加一个特殊接口。

 

 

两个方案:

1. 定制一个专门测试的api,一定可以,基于addlistener 扩展一个定制版本的扩展接口。addlistener后就同时先sendpcmvoicedata,有病吧? 直接在addlistener里调sendpcmvoicedata,试过

2.库中进行多线程操作,第二次访问时将语音数据返回来? 不知是否可行。

 

 

为什么两个api访问的全局变量没起效果。

 

 

Connection reset by peer 什么错误,具体不一定。

 

 

 

 

 

 

 

声明


bool getpcmvoicedata;
char* pcmvoicedata_sent_from_peer;

 

函数1


/*int sendPcmVoice(char voiceData[])*/
int sendPcmVoice(char* voiceData)
{
	extern bool getpcmvoicedata;
	extern char* pcmvoicedata_sent_from_peer;

	ADHOCLOG_SO("===
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值