首页 > 代码库 > Java面试题(线程)
Java面试题(线程)
第一次写,写的目的就是为了帮助自己更好地查看自己学的知识,也是对自己平时学习的一些总结。可能有些地方并不是完美,覆盖的知识面不够广泛,请谅解。
问题一
线程和进程的区别:
进程:进程就是任务管理器中那些后台运行程序,进程是程序的实体。
线程:在一个完整的java程序中,开始执行是从main开始,main就是一个线程,从main开始java会同时启动垃圾回收机制,垃圾回收机制就是另一个线程。除了这两个线程,还可能存在其他线程。通过这些线程一起完成一个程序的执行。
总结:从上面来看,进程是程序的实体,程序又是有多个线程来执行完成,所以线程是在进程里面的,一个进程可以有多个线程;进程是线程的容器。
线程至少为两个:a.main;b.垃圾回收机制 ;
问题二
创建线程的方式:
(还有第三种方式,可以在百度自行了解)
A. 继承Thread类
继承Thread,然后重写run方法 ,使用时直接new出对象,然后调用start() 方法,线程开启。
B.实现Runnable接口
类A实现 Runnable 接口,重写run方法,使用时new出A的对象a,在new出Thread的对象将a作为其参数。再通过Thread
的对象调用start()开启线程。
1 public class RunnableDemo 2 { 3 public static void main(String[] args) 4 { 5 A a = new A(); 6 Thread th = new Thread(a); //new Thread(Runnable object); 7 th.start(); //线程开启 8 9 } 10 11 } 12 13 class A implements Runnable 14 { 15 public void run() 16 { 17 System.out.println("A is running......"); 18 } 19 }
总结:只展示了Runnable的使用方式,因为平时一般选择使用Runnable。因为Thread的使用只能是单一继承,Runnable 可以是实现也可以继承都能存在,没有局限性。
Java面试题(线程)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。