首页 > 代码库 > 学习IOS开发网络多线程篇--NSThread/GCD/

学习IOS开发网络多线程篇--NSThread/GCD/

  NSThread:利用NSThread创建和启用一个线程

1. NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil];,调用后调用[thread start];

2. 创建线程后自动启动线程 ,[NSThread detachNewThreadSelector:@selector(run) toTarget:self withObject:nil];

3. 隐式创建并启动线程,[self performSelectorInBackground:@selector(run) withObject:nil];

  线程的五种状态:新建/就绪/运行/阻塞/死亡,在内存中有可调度内存池,当内存处于就绪状态被加载到调度池中,当线程阻塞时,将移到内存,在cpu调度过程中,运行与就绪状态来回切换,当线程运行结束(异常/强制退出)后线程不会被移出内存. 可以通过[NSThread exit],强行让线程进入死亡状态;