定义:
网络多线程(英语:multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具备多线程能力的计多线程
算机因有硬件支持而可以在同一时间执行多于一个线程,进而提高总体处理性能。并发
在一个程序中,这些独立运行的程序片断叫作“线程”(Thread).函数
2. 线程和进程:性能
每一个在系统上运行的程序都是一个进程。每一个进程包括一到多个线程。进程也多是整个程序或者是部分程序的动态执行。线程是一组指令的集合,或者是程序的特殊段,它能够在程序里独立执行,也能够理解为代码运行的上下文,因此线程spa
基本上轻量的进程,它负责单个程序里执行多任务,一般有操做系统负责多个线程的调度。操作系统
线程和进程的区别是:子进程和父进程哟不一样的代码和数据空间,而多个线程则共享数据空间,每一个线程有本身的执行线程
堆栈 和程序计数器为其执行上下文,多线程主要是为了节约CPU时间 进程
3. 多线程的优缺点:内存
优势:
《1 使用多线程能够把占据时间长的程序中的任务放在后台去处理。
《2 用户界面能够更加吸引人,好比用户在点击了一个按钮去触发某些时间的处理,能够弹出一个进度条来显
示处理的进度。
《3 程序的运行速度可能加快。
《4 在一些等待的任务上实现如用户的输入,文件读写和网络收发数据,线程就比较有用。
缺点:
《1 若是有大量的线程,会影响性能,由于操做系统须要在它们之间切换。
《2 更多的线程则须要更多的内存空间
《3 线程可能给程序带来更多的bug
《4 线程终止须要考虑其对程序运行的影响
《5 一般块模型数据是在多个线程间共享的,须要防止线程死锁状况的发生。
iPhone中的线程应用并非无节制的,官方给出的资料显示,iPhone OS下的主线程的堆栈大小是1M,第二个线程开始就是512KB,而且该值不能经过编译器开关或线程API函数来更改,只有主线程有直接修改UI的能力