gpt4 book ai didi

c - 怀疑消息被覆盖?

转载 作者:行者123 更新时间:2023-11-30 18:03:58 24 4
gpt4 key购买 nike

假设消息以 1 秒的间隔来自外部源生成器。我有两个处理函数,每当这些消息基于消息的字段到来时就会调用它们

我有一个函数可以创建一个名为 WriteSM 的线程例程。

考虑具有 2 个字段的 2 个字节的消息 1)数据 2类型

我们为每个字段都有两个处理函数,如下所示

void HandlerforData(char data)

void handlerforType(char Type)

/*This is the sample piece of code*/
char buffer[4];/*Global buffer*/
int index = 0;
static int flag = 0;/*A global static flag*/
void HandlerforData(char data);
void WriteSM(void);
void handlerforType(char Type);


/*Two handler functions*/
void HandlerforData(char data)
{

buffer[index] = data;
}
void handlerforType(char Type)
{

buffer[index+1] = type;
buffer[index+3] = '\0';/*Null terminated the string*/
index = 0;
flag = 1
}


void WriteSM(void)
{

while(1)
{
if(flag ==1)
{
/*Opens a shared memory and writes to the shared memory*/
flag =0/*Reset the flag*/
}
}

}

假设我的消息间隔为 1 秒,我如何确保缓冲区不会被下一帧消息覆盖?

如果您有任何疑问,请回复我

感谢和问候麦迪

最佳答案

我猜它是一个多线程应用程序,您下次肯定应该提供更多信息,但是请尝试在谷歌上搜索与关键部分相关的互斥。

关于c - 怀疑消息被覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7889375/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com