Created
May 4, 2018 06:16
-
-
Save zhangkn/fca416497b52eabfe260f7a898b91436 to your computer and use it in GitHub Desktop.
控制线程状态
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 一、控制线程状态 | |
//1、 启动线程 | |
- (void)start; // 进入就绪状态 -> 运行状态。当线程任务执行完毕,自动进入死亡状态 | |
// 2、阻塞(暂停)线程 | |
+ (void)sleepUntilDate:(NSDate *)date; | |
+ (void)sleepForTimeInterval:(NSTimeInterval)ti;// 进入阻塞状态 | |
// 3、强制停止线程 | |
+ (void)exit;// 进入死亡状态// 注意:一旦线程停止(死亡)了,就不能再次开启任务 | |
// 多线程的安全隐患: | |
// 1) 资源共享:1块资源可能会被多个线程共享,也就是多个线程可能会访问同一块资源;比如多个线程访问同一个对象、同一个变量、同一个文件。当多个线程访问同一块资源时,很容易引发数据错乱和数据安全问题 | |
// 2)安全隐患解决 – 互斥锁 | |
// 二、互斥锁使用格式 | |
@synchronized(锁对象) { // 需要锁定的代码 }//注意:锁定1份代码只用1把锁,用多把锁是无效的 | |
// 1、互斥锁的优缺点: | |
// 优点:能有效防止因多线程抢夺资源造成的数据安全问题 | |
// 缺点:需要消耗大量的CPU资源 | |
//2、 互斥锁的使用前提:多条线程抢夺同一块资源 | |
//3、 相关专业术语: | |
// 1)线程同步:线程同步的意思是:多条线程在同一条线上执行(按顺序地执行任务) | |
// 2)互斥锁,就是使用了线程同步技术 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment