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 classRunnableDemo2 {3 public static voidmain(String[] args)4 {5 A a = newA();6 Thread th = new Thread(a); //new Thread(Runnable object);

7 th.start(); //线程开启

8

9 }10

11 }12

13 class A implementsRunnable14 {15 public voidrun()16 {17 System.out.println("A is running......");18 }19 }

总结:只展示了Runnable的使用方式,因为平时一般选择使用Runnable。因为Thread的使用只能是单一继承,Runnable 可以是实现也可以继承都能存在,没有局限性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值