【校招VIP】java语言考点之并发相关

09月14日 收藏 0 评论 0 java开发

【校招VIP】java语言考点之并发相关

考点介绍:

并发在操作系统中是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。并发相关问题在校招面试中出现频次很高。

答案详情解析和文章内容可扫下方海报二维码或点击链接即可查看!

一、考点试题

1、下面关于并行和并发的区别,说法错误的是?

A.并发计算是一种程序计算的形式,在系统中,至少有两个以上的计算在同时运作,计算结果可能同时发生

B.并行计算指许多指令得以同时进行的计算模式。在同时进行的前提下,可以将计算的过程分解成小部份,之后以并发方式来加以解决

C.并行是同时发生的多个并发事件,并发事件之间一定要同一时刻发生

D.并发是逻辑上的同时发生(simultaneous),而并行是物理上的同时发生

解答:正确答案是 C

不一定同时发生, 只要再另一个结束前发生就可以了,并发和并行的区别就是一个处理器同时处理多个任务和多个处理器或者是多核的处理器同时处理多个不同的任务......

2、并发编程三要素?

解答:1、原子性

原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操作打断,要么就全部都不执行。

......

3、常用的并发工具类有哪些?

解答:CountDownLatch、CyclicBarrier、Semaphore、Exchanger

4、CAS 的问题

解答:1、CAS 容易造成 ABA 问题

一个线程 a 将数值改成了 b,接着又改成了 a,此时 CAS 认为是没有变化,其实是已经变化过了,而这个问题的解决方案可以使用版本号标识......

5、什么是并发容器的实现?

解答:何为同步容器:可以简单地理解为通过 synchronized 来实现同步的容器,如果有多个线程调用同步容器的方法......

二、考点文章

1、进程,线程,协程与并行,并发

进程的出现是为了更好的利用CPU资源使到并发成为可能。 假设有两个任务A和B,当A遇到IO操作,CPU默默的等待任务A读取完操作再去执行任务B......

2、什么是并发

一、为什么要学习并发:

充分利用CPU资源,帮助我们编写出高性能的程序。

ps:如果视而不见(并发问题),终将遭其反噬。

......

3、JAVA并发

一、线程状态转换

1、新建(New)

创建后尚未启动,此时仅由 JVM 为其分配内存,并初始化其成员变量的值。

......

三、考点视频

多线程执行下列代码后的值

本题是一道笔试题,属于偏复杂、对时间要求高的题型。主要是具化多线程,把临界点和对应的多线程起始位置画出来,需要细心和时间......

PC端链接https://xiaozhao.vip/dTopic/detail/1187

移动端链接https://m.xiaozhao.vip/dTopic/detail/1187

C 0条回复 评论

帖子还没人回复快来抢沙发