• 子线程定时器的创建


    • 在子线程创建定时器时,需要手动开启子线程的运行循环。
    dispatch_async(dispatch_get_global_queue(0, 0), ^{
    
    	// 在子线程创建定时器
    	/*
    	scheduled 或 timer 方式创建
    	*/
    	self.timer = [NSTimer timerWithTimeInterval:1.0 
    	target:self 
    	selector:@selector(updateTimer:) 
    	userInfo:nil 
    	repeats:YES];            
    	[[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSDefaultRunLoopMode];
    
    	// 启动子线程的运行循环
    	/*
    	这句代码就是一个死循环!如果不停止运行循环,不会执行添加到此句之后的任何代码
    	*/
    	CFRunLoopRun();
    
    	// 停止子线程运行循环之前,不会执行添加到此处的任何代码
    });
    // 定时器执行操作方法
    
    - (void)updateTimer {
    
    	static int num = 0;
    
    	num++;
    
    	// 满足条件后,停止当前的运行循环
    	if (num == 8) {
    
    		// 停止当前的运行循环
    		/*
    		一旦停止了运行循环,后续代码能够执行,执行完毕后,线程被自动销毁
    		*/
    		CFRunLoopStop(CFRunLoopGetCurrent());
    	}
    }
    
  • 相关阅读:
    求数组元素出现的次数
    数组的一些内置方法
    二维数组
    创建对象
    取出数组最大值与最小值
    4-jQuery
    3-jQuery
    2-jQuery
    1-jQuery
    Spark共享变量(广播变量、累加器)
  • 原文地址:https://www.cnblogs.com/CH520/p/9451938.html
Copyright © 2020-2023  润新知