多线程

进程和线程的区别:进程是开辟空间(负责申请一块内存地址);线程:负责依次执行

一个运行的程序就是一个进程或者叫做一个任务

一个进程至少包含一个线程,线程是程序的执行流

iOS程序启动时,在创建一个进程的同时, 会开始运行一个线程,该线程被称为主线程

主线程是其他线程最终的父线程,所有界面的显示操作必须在主线程进行!!!

后台线程无法更新UI界面和响应用户点击事件

系统中的每一个进程都有自己独立的虚拟内存空间,而同一个进程中的多个线程则共用进程的内存空间

每创建一个新的线程,都会消耗一定内存和CPU时间

当多个线程对同一个资源出现争夺的时候需要注意线程安全问题

线程使用不是无节制的

iOS中的主线程的堆栈大小是1M

从第二个线程开始都是512KB

这些数值不能通过编译器开关或线程API函数更改

只有主线程有直接修改UI的能力

你可能感兴趣的:(多线程)