概念
多线程是指程序中包含多个执行单元,即在一个程序中可以同时运行多个不同的线程来执行多个不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务
什么时候需要多线程
-
程序需要同时执行两个或多个任务时
-
程序需要实现一些需要等待的任务时,比如用户输入,文件读写操作,网络操作,搜索等‘
-
需要在后台运行程序的时候
多线程的优、缺点
优点:
-
提高程序的响应
-
提高CPU的利用率
-
改善程序的结构,将复杂的任务分为多个线程,独立运行
缺点:
-
线程其实也是程序,所以线程需要占用内存,线程多了,自然占用的内存也就多了
-
多线程需要协调和管理,所以需要CPU时间跟踪线程
-
线程之间对共享资源的访问会互相影响,必须解决竞用共享资源的问题