面试的时候你可以这么回答
- 避免阻塞.因为在单线程中,各个线程是顺序执行的,也就是说,如果某个线程阻塞了,后面的线程也会被阻塞掉.
- 避免cpu空传.在线程里,一个线程结束的标志不是将核心逻辑执行完了就可以了,例如你要请求一个数据库,不是你请求完成就可以了,这个线程还要等待数据返回,对于我们来说,等待返回是完成没有必要的,浪费cpu,为了解决这个问题,可以引入多线程,然其他线程在这个时间执行,这样cpu就不会闲着了.
- 提高效率.多线程能并发或并行执行,极大地提高了cpu利用效率,并行的话就是多个线程同一个时间启动执行,并发就是在某一段时间内有多个线程执行.