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

05月11日 收藏 0 评论 0 java开发

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

考点介绍:

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

本期分享的java语言考点之并发相关,分为试题、文章以及视频三部分。

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

一、考点题目

1.并发编程三要素?

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

2.常用的并发工具类有哪些?

解答:CountDownLatch,CyclicBarrier,Semaphore,Exchanger

3.CAS 的问题

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

4.什么是并发容器的实现?

解答:何为同步容器:可以简单地理解为通过 synchronized 来实现同步的容器,如果有多个线程调用同步容器的方法,它们将会串行执行。比如 Vector,Hashtable,以及 Collections.synchronizedSet,synchronizedList 等方法……

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

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

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

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

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

正确答案:C,不一定同时发生, 只要再另一个结束前发生就可以了。并发和并行的区别就是一个处理器同时处理多个任务和多个处理器或者是多核的处理器同时处理多个不同的任务。并发性(concurrency),又称共行性,是指能处理多个同时性活动的能力,并发事件之间不一定要同一时刻发生……

(答案点击下方链接或者扫海报二维码查看哦)

二、考点文章

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

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

2.什么是并发

充分利用CPU资源,帮助我们编写出高性能的程序。ps:如果视而不见(并发问题),终将遭其反噬。并发的特点:速度(更快的执行):通常,并发都是提高运行在单处理器上的程序……

3.JAVA并发

新建(New),创建后尚未启动,此时仅由 JVM 为其分配内存,并初始化其成员变量的值。可运行(Runnable),可能正在运行,也可能正在等待 CPU 时间片。 包含了操作系统线程状态中的……

(扫下方海报二维码查看完整版)

三、考点视频

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

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

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

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

C 0条回复 评论

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