线程:用来执行进程中的任务的,每次只能执行一个任务,线程彻底执行完任务A才能去执行任务B。为了同时执行两个任务,产生了多线程。举一个例子:在你打开一个音乐播放器时,你听歌是一个线程,如果同时下载歌曲,就是另一个线程,听歌的同时下载歌曲就是两个进程,即多进程。
主线程:当应用程序启动时自动创建和启动,通常用来处理用户的输入并响应各种事件和消息,主线程的终止也意味着该程序的结束。
子线程:由主线程来创建,用来帮助主线程执行程序的后台处理任务。如果子线程A中有创建了一个子线程B,在创建之后,这两者就会是相互独立的,多个子线程之间效果上可以同时执行。
多线程的优势:提高程序执行效率,避免线程阻塞造成的卡顿现象,能适当提高资源利用率(CPU,内存)。
多线程的不足:开启线程需要占用一定的内存空间,线程越多,CPU在线程调度上的开销就越大,程序设计更加复杂:比如线程之间的通信、多线程的数据共享。
主线程和子线程的区别:主线程一启动就自动创建,用来显示和刷新UI界面,处理UI事件;子线程处理耗时的操作,且不能用来刷新UI。