投的JAVA,结果面试官说他写c++,于是我就开始跟着他天马行空的思维去回答问题了。 1.多线程和多进程的区别:线程是进程的子集,一个进程可能由多个线程组成;2、多进程的数据是分开的,共享复杂,需要用进程间通信(IPC),但同步简单;3、多线程共享进程数据,共享简单,但同步复杂,这里我回答了一个多线程切换比多进程切换快,于是他又问我为什么快?(我没回答出来,这是百度到的答案)因为进程切换比线程切换多了页表的切换(操作系统为每个进程搞一张页表,可能一级也可能多级),而页表切换会导致TLB失效,TLB中的内容要全部重写,所以所以慢了,切换页表很快,就是个指针的问题,内存变动也不是原因。 ...