java基础之多线程
- 并行和并发有什么区别?
答: 并行是指两个或者多个事件在同一时刻发生;而并发是指两个或者多个事件在同一时间间隔发生。
并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。
在一台处理器上同时处理多个任务,在多台处理器上同时处理多个任务。如hadoop分布式集群。
- 线程和进程的区别?
进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个线程。进程在执行过程中拥有独立的内存单元,而多个线程共享内存资源,减少切换次数,从而效率更高。线程是进程的一个实体,是cpu调度和分派的基本单位,是比程序更小的能独立运行的基本单位。同一进程中的多个线程之间可以并发执行。
- 守护线程是什么?
答:守护线程是个服务线程,准确来说就是服务其他的线程。
- 线程创建的几种方式?
1 继承Thread类创建线程类:定义Thread类的子类,并重写Run方法,该方法代表了线程要完成的任务,为执行体。然后创建Thread子类的实例,即创建了线程对象。最后调用线程对象的start()方法来启动线程。
2通过Runnable接口创建线程类:定义runnable接口的实现类,并重写该接口的run方法,该方法为线程的执行体。然后创建runnable实现类的实例,并依此实例作为Thread的target来创建Thread对象,该Thread对象才是真正的线程对象。最后调用线程对象的start方法来启动线程。
3.通过Callable和Future创建线程
创建Callable接口的实现类,并实现call()方法,该call()方法将作为线程执行体,并且有返回值。
创建Callable实现类的实例,使用FutureTask类来包装Callable对象,该FutureTask对象封装了该Callable对象的call()方法的返回值。
使用FutureTask对象作为Thread对象的target创建并启动新线程。
调用FutureTask对象的get()方法来获得子线程执行结束后的返回值。
以上是 java基础之多线程 的全部内容, 来源链接: utcz.com/z/516862.html