多线程可以共享同一个java虚拟机实例中堆和方法区的信息
在有阻塞操作的时候(如blocking IO),可以改善用户体验,比如酷狗,你可以一边下载,一边修改其他歌曲的信息,如果是单线程的,在下载没完成的时候,界面就死在那,直到下载完成
比如以个远程的请求,需要等待请求后的回复,如果请求的响应时间有点久,那么如果是单线程就卡住了,
多线程就继续做其他事情。
单核CPU跑满时,开多少个线程都无法提高效率,还会因线程切换的原因,使效率下降。有阻塞机制的情况下,多线程比较有意义。