线程基础知识
1、程序:可执行文件,exe
2、进程:操作系统进行资源分配的基本单位,双击exe文件变成一个进程,操作系统将文件放到内存中,cpu来执行
3、线程:进程内部调度执行的基本单位,多个线程共享进程。cpu找到进程的main方法,这就是一个主线程
4、线程是进程内部不同任务的切换
5、线程切换:t1线程到cpu执行,操作系统调度t2线程执行时,cpu将t1的执行结果放到缓存中换t2执行
6、单核CPU设定多线程是否有意义?
有意义。a线程运行到一半,需要传参才能继续执行,等待过程不消耗cpu,此时可以让b线程执行
7、cpu密集型:大量计算
io密集型:大量的拷贝,输入输出
8、线程数是不是设置的越大越好?
线程之间的切换也需要消耗资源,所以并不是越大越好
9、线程数设置多少合适?
与cpu的核数相关,我们肯定希望最大利用核数,有一个公式可以计算