面试题

1.什么是并发?

并发: 同时拥有两个或多个现场,如果出现在单核处理器上运行,多个线程将交替地换入或换出内存, 这些线程是同时“存在”的,每个线程都处于执行过程中的某个状态。如果在多核处理器上,程序中的每个线程都将分配到一个处理器核心上,此时则称为 并行

2.并发和并行

并发和并行的功能很相似,两者都可以表示多个任务一起执行的情况,但本质上两者其实是有区别的。严格意义上来说,并行的多任务是真实的同时执行,而并发更多的情况是任务之间交替执行,系统不停的在多个任务间切换执行,也就是 “串行” 执行。最直接的例子的就是我们的计算机系统,在单核CPU时代,系统表面上能同时进行多任务处理,比如听歌的同时又浏览网页,但真实环境中这些任务不可能是真实并行的,因为一个CPU一次只能执行一条指令,这种情况就是并发,系统看似能处理多任务是因为不停的切换任务,但因为时间非常短,所以在我们的感官来说就是同时进行的。而计算机系统真实的并行是随着多核CPU的出现才有的。

3.线程安全
线程安全指的是多线程的安全。如果一段程序可以保证被多线程访问后仍能保持正确性,那么程序就是线程安全的。一般来说,线程安全注重的是多线程开发中的共享数据的安全。

你可能感兴趣的:(面试题)