多条网络消息 只处理一次
来源:互联网 发布:java hibernate 并发 编辑:程序博客网 时间:2024/05/21 19:45
//// ViewController.m// test_message_01//// Created by jeffasd on 16/9/22.// Copyright © 2016年 jeffasd. All rights reserved.//#import "ViewController.h"@interface ViewController ()@property (nonatomic, strong) NSMutableDictionary *reportPeerGoDicM;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; self.reportPeerGoDicM = [NSMutableDictionary dictionaryWithCapacity:0];}- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ int randomTimeA = arc4random_uniform(2); int randomTimeB = arc4random_uniform(2); int randomTimeC = arc4random_uniform(3);// NSLog(@"the random is %d", randomTimeA); // randomTimeA = 1;// randomTimeB = 1; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(randomTimeA * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ NSLog(@"peer_exit"); [self reportPeerGoMessageToServer:@"peer_exit"]; }); dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(randomTimeB * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ NSLog(@"stream_disconnect"); [self reportPeerGoMessageToServer:@"stream_disconnect"]; }); // dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(randomTimeC * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{// NSLog(@"stream_close");// [self reportPeerGoMessageToServer:@"stream_close"];// }); }- (void)reportPeerGoMessageToServer:(NSString *)message{ @synchronized (self.reportPeerGoDicM) { if (self.reportPeerGoDicM.count == 0) { [self.reportPeerGoDicM setObject:message forKey:message]; NSLog(@"执行 - 0"); }else if (self.reportPeerGoDicM.count > 0){ if ([self.reportPeerGoDicM.allKeys containsObject:message]) { [self.reportPeerGoDicM removeAllObjects]; [self.reportPeerGoDicM setObject:message forKey:message]; NSLog(@"执行"); }else{ [self.reportPeerGoDicM setObject:message forKey:message]; } } } }- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}@end
0 0
- 多条网络消息 只处理一次
- 网络状态改变时发送了多条广播,在接受时只对应一次操作的方法(例如webview重新加载)
- TranslateAccelerator只处理WM_KEYDOWN消息
- 用事务一次处理多条SQL语句
- 教您用事务一次处理多条SQL语句
- 网络消息监听处理
- 通过cookie让一条消息只显示一次
- 微信公众号关注一次回复多条消息java开发
- 多条数据只显示第一条。。
- 一次插入多条记录
- 一次插入多条记录
- 一次插入多条数据
- 一次插入多条数据
- oracle 一次插入多条
- 异步网络消息处理框架
- c# 程序只运行一次的处理方法
- android 只进一次的界面 的逻辑处理
- 软硬件调试九法:第五条规则 一次只改一个地方
- NEFU OJ35 Grids
- 每天一条linux命令---chgrp命令
- Android图片加载Glide框架使用详解
- Java7新特性
- VS2003遇到问题,无法打开d3d9.h
- 多条网络消息 只处理一次
- javascript 粘贴文件
- 经验之谈
- 插入排序 冒泡 选择 快速
- 开启 C++ 学习之路
- DSHOW 显示视频
- 各种内排序算法源码汇总--c语言
- Rightmost Digit
- iOS-Xcode8之调用系统相册