何时使用Java Thread API

时间:2012-01-16 14:15:06

标签: java multithreading

我个人使用high level concurrency抽象,因为它们更容易。其实我不记得上次我使用过theads了。但在技术面试中,这是一个经常被问到的问题。是的,我也问过它。

是否有必要使用低级Thread API而不是Executors / Locks / Latches /等的用例?

在技术面试中有没有理由讨论低级线程API?

2 个答案:

答案 0 :(得分:4)

技术面试通常用于衡量候选人知识的深度,而不是任何特定能力。可以说,没有必要在15。20年内实现自己的链表和二叉树,但是要求实施这些数据结构的问题经常出现在技术访谈中。聪明的候选人应该能够从简短的教程和API文档中找出高级并发API。您询问线程原语,以查看候选人是否了解当他或她使用并发时,无论调用什么API,幕后发生的事情都会发生。

就个人而言,当我提出有关您从不使用的事情的问题时,我并不坚持要获得正确的名称或API方法参数的正确顺序。只要候选人对这个概念很清楚,我不介意他们不记得特定API的细节。

答案 1 :(得分:1)

如果你想要实现一些非常具体的东西,你就会遇到遗留代码,旧版本的Java,或者你需要一个未提供的抽象,那么我会考虑使用原始的低级线程API。即使有旧的版本/遗留代码在使用,但请记住,如果它推动维护,切换到更新的API可能是值得的 - 我个人尝试将用户生成的并发代码量保持在最低限度!