1.什么是多线程
多线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理或同时多线程处理器。在一个程序中,这些独立运行的程序片段叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理” 。
2.原理
实现多线程是采用一种并发执行机制
并发:指两个或多个事件在同一时间段内发生。(举例:唐三藏,猪八戒,沙悟净被困火海,孙悟空分身术限号,只能一个一个救,在极短的时间救出八戒三人)
3.优缺点
优点:
1 使用线程可以把占据时间长的程序中的任务放到后台去处理。
2 程序的运行速度可能加快
3 在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下可以释放一些珍贵的资源如内存占用等
缺点:
1 如果有大量的线程,会影响性能,因为操作系统需要在它们之间切换。
2 更多的线程需要更多的内存空间。
4 线程的中止需要考虑其对程序运行的影响。
5 通常块模型数据是在多个线程间共享的,需要防止线程死锁情况的发生。
4.构造方法