- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关于华为公司短消息动态库多线程技术说明
华为公司基于WINDOWS的短消息发送动态库SMEIDLL.DLL的消息发送函数支持多线程重入特性,为加快SP系统的短消息发送速度,可以采用多线程发送的方式。
此文档是一个多线程编程的例子程序,程序设计思想在每行代码上基本都有描述,根据下面描述的说明,SP很容易实现自身系统的多线程升级。
在附件所描述的程序中,SP的应用通过以下各个步骤,可以实现多线程的消息发送:
/*--------------------------------------------------------------------------------
第0步,申明变量,用于多线程发送,不用修改
*---------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
第一步,初始化变量
*---------------------------------------------------------------------------------*/
BOOL InitMutiSend()
/*--------------------------------------------------------------------------------
第二步,定义发送线程,在此线程中,将通过取特定缓存区来进行发送
*---------------------------------------------------------------------------------*/
DWORD WINAPI SubmitThread(LPVOID lparam)
/*--------------------------------------------------------------------------------
第三步:让线程启动起来,等待发送消息,此函数不用作修改
*---------------------------------------------------------------------------------*/
BOOL MutiStart()
/*--------------------------------------------------------------------------------
第四步:发送消息测试函数,注意,此发送函数如果在您的程序中使用,请要使用
串行化单线程模式,不能多线程调用,如必须要,请回锁保护发送消息线程
STRU_SEND_BUFF Msg:待发送消息
*---------------------------------------------------------------------------------*/
BOOL SendMsg(STRU_SEND_BUFF Msg)
/*--------------------------------------------------------------------------------
第五步:退出群发,系统退出时使用
*---------------------------------------------------------------------------------*/
void MutiStop()
具体的程序描述见附录,完整例子工程见附件:
附录A 消息多发程序
程序头文件:
// 要发送的消息缓存冲区
// 如果有其他需要传送到发送线程,也请加入此结构中,如发送的主叫号码,是否需要状态报告等
struct STRU_SEND_BUFF
{
char sMSISDN[21]; // 要发送的手机号码
char sUserData[161]; // 要发送的内容
};
BOOL InitMutiSend();
BOOL MutiStart();
BOOL SendMsg(STRU_SEND_BUFF Msg);
void MutiStop();
文件体:
/*--------------------------------------------------------------------------------
第0步,申明变量,用于多线程发送,不用修改
*-----------------------------------------------------------------------------
文档评论(0)