多线程常见面试题 _第1页
多线程常见面试题 _第2页
多线程常见面试题 _第3页
多线程常见面试题 _第4页
多线程常见面试题 _第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 / 11 多线程常见面试题 你有线程 将如何确保线程 行后2线程后? 它可以实现通过加入 的 新锁接口相比 什么好处?要实现一个高性能缓存,它允许多个读,但单一的写,以保持完整性,你将如何实施呢? 新锁接口提供了分离的两个单独读和写的锁,这样能够使用 是 写代码实现堵塞队列和 式? ) / ; / / 11 ; ; /; ; /in i=0; i “ + i); i); ) 11 / “+ ); ) 4 / 11 0 1 0 2 1 3 2 4 3 5 4 6 5 7 6 8 7 9 5 / 11 8 9 写段代码演示线程死锁,如何解决死锁? 见:死锁详解研究 ; ; ; ; 6 / 11 解决方式,调整调用顺序: ; ; ; ; 7 / 11 什么是原子操作? 原子操作能保证线程安全,非原子操作就是线程不安全,通过使用锁或其他非堵塞方式实现某个时间只能有一个线程操作同一资源。 什么? 键字用来指示 译器和线程,不要缓存这个变量的值,总是从主内存读取。如果你想分享其中的任何变量进行读写操作是原子的。 详细见: 存模型 什么是竞争条件,如何发现竞争条件? 如果两个线程同时访问同一个资源容易发生竞争情况,如果两个线程试图在同一时间递增计数, 如果他们读相同的值,因为交错,一个线程来读操作而另一个线程更新操作,其中一个线程的操作结果将会丢失,当一个线程覆盖由其他线程完成的增量。原子操作并不有关操作的次序,与竞争条件无关。 见:什么使得并行编程变得很难? 什么是堵塞的方法?如何唤醒堵塞的线程? 如果堵塞在 , or , 但是大部分 : 8 / 11 ) ; ; is ); 这种情况只能改变编程风格,比如使用 方式。 区别是什么? 这两个允许线程彼此等待在 旦计数达到零,你调用 方法可以复位到初始状态。而 能,适合使用在系统启动时。 代码如下: / 9 / 11 + “ is on ; ; + “ ; ) ) 10 / 11 ) / 3 to , /be at ; ); /of “”); “”); “”); ; ;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论