- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
并发编程测试题
java并发面试题(一)基础多线程java中有几种方法可以实现一个线程?(参考答案)答:1)继承Thread方法:Java线程类也是一个object类,它的实例都继承自java.lang.Thread或其子类。?可以用如下方式用java中创建一个线程:Tread thread =?new?Thread();执行该线程可以调用该线程的start()方法:thread.start();2)实现Runnable接口:public class MyRunnable implements Runnable { public void run(){ System.out.println(MyRunnable running); }}Thread thread = new Thread(new MyRunnable());thread.start();如何停止一个正在运行的线程?答:使用共享变量的方式:代码中定义了一个退出标志exit,当exit为true时,while循环退出,exit的默认值为false。在定义exit时,使用了一个Java关键字volatile,这个关键字的目的是使exit同步,也就是说在同一时刻只能由一个线程来修改exit的值。notify()和notifyAll()有什么区别?答:void notify(): 唤醒一个正在等待该对象的线程。void notifyAll(): 唤醒所有正在等待该对象的线程。两者的最大区别在于:notifyAll使所有原来在该对象上等待被notify的线程统统退出wait的状态,变成等待该对象上的锁,一旦该对象被解锁,他们就会去竞争。notify他只是选择一个wait状态线程进行通知,并使它获得该对象上的锁,但不惊动其他同样在等待被该对象notify的线程们,当第一个线程运行完毕以后释放对象上的锁,此时如果该对象没有再次使用notify语句,即便该对象已经空闲,其他wait状态等待的线程由于没有得到该对象的通知,继续处在wait状态,直到这个对象发出一个notify或notifyAll,它们等待的是被notify或notifyAll,而不是锁。sleep()和 wait()有什么区别?答:这两个方法来自不同的类分别是Thread和Object最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用(使用范围)sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常sleep()让一个线程休眠一段时间,能自动醒来进入到可运行状态,不会马上进入运行状态,wait()让一个线程等待,直到线程被杀死或被唤醒。什么是Daemon线程?它有什么意义?java如何实现多线程之间的通讯和协作?锁什么是可重入锁(ReentrantLock)?当一个线程进入某个对象的一个synchronized的实例方法后,其它线程是否可进入此对象的其它方法?synchronized和java.util.concurrent.locks.Lock的异同?乐观锁和悲观锁的理解及如何实现,有哪些实现方式?并发框架SynchronizedMap和ConcurrentHashMap有什么区别?CopyOnWriteArrayList可以用于什么应用场景?线程安全什么叫线程安全?servlet是线程安全吗?同步有几种实现方法?volatile有什么用?能否用一句话说明下volatile的应用场景?请说明下java的内存模型及其工作流程。为什么代码会重排序?java并发面试题(二)实战本文列出了在工作中会用到的并发编程的实战问题,大家可以一起交流下,在回复中给出答案。并发容器和框架如何让一段程序并发的执行,并最终汇总结果?如何合理的配置java线程池?如CPU密集型的任务,基本线程池应该配置多大?IO密集型的任务,基本线程池应该配置多大?用有界队列好还是无界队列好?任务非常多的时候,使用什么阻塞队列能获取最好的吞吐量?如何使用阻塞队列实现一个生产者和消费者模型?请写代码。多读少写的场景应该使用哪个并发容器,为什么使用它?比如你做了一个有哪些信誉好的足球投注网站引擎,有哪些信誉好的足球投注网站引擎每次有哪些信誉好的足球投注网站前需要判断有哪些信誉好的足球投注网站关键词是否在黑名单里,黑名单每天更新一次。Java中的锁如何实现乐观锁(CAS)?如何避免ABA问题?读写锁可以用于什么应用场景?什么时候应该使用可重入锁?什么场景下可以使用volatile替换synchronized?并发工具如何实现一个流控程序,用于控制请求的调用次数?答案可以阅读以下参考资料,知道答案后可以在回复中交流Java线程池的分析和使用? ?Java线程池(
文档评论(0)