1、并行和并发有什么区别?
- 并行指的是多个事件在同一时刻发生,并发指的是多个事件在同一个时间间隔发生。
- 并行指的是不同实体上的多个事件,并发指的是一个实体上的多个事件。
并发编程的目标是充分的利用处理器的每一个核,以达到最高的处理性能。
2、进程和线程的区别
- 进程是程序运行和资源分配的基本单位,线程是CPU调度和分配的基本单位
- 进程拥有独立的内存单元, 线程间共享内存资源,从而减少切换消耗,提高执行效率
- 同一个进程中的多个线程可以并发执行。
3、守护线程是什么?
守护线程就是个服务线程,用于服务其他线程。
4、创建线程的几种方式? 答案
5、runnable和callable的区别?
- runnable接口的run()方法的返回值是void,他只是单纯的去执行方法中定义的代码逻辑。
- callable接口中的call()方法有返回值,是一个反省,和future或者futureTask可以用来获取异步执行结果。
6、线程都有哪些状态? 答案
7、sleep()和wait() 的区别? 答案
8、notify和notifyAll有什么区别?答案
9、start()和run()方法的区别?答案
10、如何控制两个线程交替打印1到100? 答案