- 开启线程的三种方式?
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的博客
网友评论