加一个标志位,初值设置为0,发送以后把变量设置成1的示例
时间: 2024-03-14 20:42:41 浏览: 14
好的,那我来给你举个例子,假设我们要实现一个功能:向某个服务器发送一条消息,但是要保证同一时间只有一条消息在发送,即在发送消息时,如果前一条消息还没有发送完成,则不进行发送。那么可以通过加一个标志位实现这个功能,示例代码如下:
```c++
bool isSending = false; // 标志位,初始值为 false
void sendMessage(string message) {
if (!isSending) { // 如果前一条消息已经发送完成,则可以进行发送
isSending = true; // 设置标志位为 true,表示正在发送消息
// 发送消息的代码
// ...
cout << "发送消息:" << message << endl;
// ...
isSending = false; // 发送完成后设置标志位为 false
}
else {
cout << "前一条消息还未发送完成,无法发送该消息:" << message << endl;
}
}
```
在这个示例中,我们定义了一个 bool 类型的变量 `isSending`,初始值为 false。当需要发送消息时,首先判断标志位的值,如果为 false,则进行发送,并将标志位设置为 true,表示正在发送消息。如果标志位为 true,则说明前一条消息还未发送完成,无法进行发送。在消息发送完成后,将标志位重新设置为 false,表示可以进行下一条消息的发送。这样就保证了同一时间只有一条消息在发送的功能。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)