美文网首页
大厂Android面试题汇总(四)线程、多线程和线程池

大厂Android面试题汇总(四)线程、多线程和线程池

作者: 我的天呐0_0 | 来源:发表于2018-05-09 10:37 被阅读0次

    JAVA 线程状态及转化

    • 开启线程的三种方式?
      java创建线程的三种方式及其对比
    • 线程和进程的区别?
      1,进程是cpu资源分配的最小单位,线程是cpu调度的最小单位。以前进程既是资源分配也是调度的最小单位,后来为了更合理的使用cpu(实际上是cpu性能越来越好),才将资源分配和调度分开,就有了线程。线程是建立在进程的基础上的一次程序运行单位。
      2,线程是在进程中的,一个进程可以有多个线程,线程几乎不拥有独自资源,多个线程共享进程中的代码和数据
    • 为什么要有线程,而不是仅仅用进程?
      线程与进程使用选择
    • run()和start()方法区别
      主要区别在于start()方法中会在新的线程中执行run()方法,且一个线程只能调用一次start()方法,多次调用会有IllegalStateException。run()方法调用只是在本线程执行run()中代码,可多次调用。
    • 如何控制某个方法允许并发访问线程的个数?
      深入理解Semaphore
    • 在Java中wait和seelp方法的不同;
      java 中的 wait()方法和 sleep()方法的区别
    • 谈谈wait/notify关键字的理解
      同上
    • 什么导致线程阻塞?
      线程阻塞:
      1,Thread.sleep(int millsecond)或者wait(),子线程join()
      2,线程执行到同步代码且获取不到锁
      3,线程执行某些IO操作 System.in
      4,网络请求时的阻塞
      线程阻塞的原因
    • 线程如何关闭?
      关闭线程的正确方式
      使用interrupt(),需要捕捉InterruptedException
      不使用stop(),会释放锁,线程不安全
    • 讲一下java中的同步的方法
      同步的几种方式
      每种方式详见下边各问题
    • 数据一致性如何保证?
      Android开发上一般很少遇到需要进行数据一致性的管理,没有分布式
    • 如何保证线程安全?
      确保线程安全的几种方法
    • 如何实现线程同步?
      实现线程同步的几种方式
    • 两个进程同时要求写或者读,能不能实现?如何防止进程的同步?
    • 线程间操作List
    • Java中对象的生命周期
    • Synchronized用法
    • synchronize的原理
    • 谈谈对Synchronized关键字,类锁,方法锁,重入锁的理解
    • static synchronized 方法的多线程访问和作用
    • 同一个类里面两个synchronized方法,两个线程同时访问的问题
    • volatile的原理
    • 谈谈volatile关键字的用法
    • 谈谈volatile关键字的作用
    • 谈谈NIO的理解
    • synchronized 和volatile 关键字的区别
    • synchronized与Lock的区别
    • ReentrantLock 、synchronized和volatile比较
    • ReentrantLock的内部实现
    • lock原理
    • 死锁的四个必要条件?
    • 怎么避免死锁?
    • 对象锁和类锁是否会互相影响?
    • 什么是线程池,如何使用?
    • Java的并发、多线程、线程模型
    • 谈谈对多线程的理解
    • 多线程有什么要注意的问题?
    • 谈谈你对并发编程的理解并举例说明
    • 谈谈你对多线程同步机制的理解?
    • 如何保证多线程读写文件的安全?
    • 多线程断点续传原理
    • 断点续传的实现

    问题来自:AWeiLoveAndroid的博客

    相关文章

      网友评论

          本文标题:大厂Android面试题汇总(四)线程、多线程和线程池

          本文链接:https://www.haomeiwen.com/subject/zpknrftx.html