进程和线程的区别:进程是开辟空间(负责申请一块内存地址);线程:负责依次执行
一个运行的程序就是一个进程或者叫做一个任务
一个进程至少包含一个线程,线程是程序的执行流
iOS程序启动时,在创建一个进程的同时, 会开始运行一个线程,该线程被称为主线程
主线程是其他线程最终的父线程,所有界面的显示操作必须在主线程进行!!!
后台线程无法更新UI界面和响应用户点击事件
系统中的每一个进程都有自己独立的虚拟内存空间,而同一个进程中的多个线程则共用进程的内存空间
每创建一个新的线程,都会消耗一定内存和CPU时间
当多个线程对同一个资源出现争夺的时候需要注意线程安全问题
线程使用不是无节制的
iOS中的主线程的堆栈大小是1M
从第二个线程开始都是512KB
这些数值不能通过编译器开关或线程API函数更改
只有主线程有直接修改UI的能力