java并发多线程基础知识

  1. 什么是线程?
    线程是操作系统能够进行运算调度的最小单位,它包含在进程之中,是进程的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如一个线程完成一个任务需要100毫秒,那么用10个线程完成这个任务只需要10毫秒。Java在语言层面对多线程提供了卓越的支持。

  2. 线程和进程有什么区别?
    线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有的线程共享一片相同的内存空间。别把它和栈内存搞混了,每个线程拥有单独的栈内存来存储本地数据。

  3. 如何在java中实现线程?
    ①继承Thread类;
    ②实现Runnable接口;

  4. 用Runnable还是Thread?
    java不支持多继承,但可以允许实现多个接口。如果要继承其他类,那应该是用实现Runnable接口的方式。

  5. Thread类中的start()和run()方法的区别?
    start()方法用来启动新创建的线程,而start()内部调用了run()方法,这和直接调用run()方法效果不一样。当你调用run()方法时,只会在原来的线程中调用,没有新的线程启动,start()方法才会启动新线程。

  6. java中Runnable和Callable有什么不同?
    Runnable和Callable都代表在不同线程中执行的任务。Runnable从JDK1.0就开始有了,Callable在JDK1.5增加的。他们的主要区别是Callable的call()方法可以返回值和抛出异常,而Runnable的run()方法没有这些功能。Callable可以返回装载有计算结果的Future对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值