首页 > 编程语言 > 详细

多线程笔记

时间:2019-04-20 19:53:23      阅读:152      评论:0      收藏:0      [点我收藏+]

(笔者有些知识点可能存在理解局限性,或者有误区,希望各位看官多多包涵,欢迎留言,或纠正,大家互相学习互相共勉哈??)

 

1.什么是线程?

线程就是操作系统的运算调度的最小单位,它包含于进程中,而且是进程的实际运作单位;我们可以使用多线程来为运算密集型的任务提速,并且Java语言对多线程提供了良好的支持。

2.线程和进程有什么区别?

  • 线程是进程的实际运作单位,或者说是进程的子集;一个进程可以有多个线程,每个线程执行不同的任务。
  • 不同的进程拥有不同的内存空间,而所有的线程共享一片相同的内存空间;
  • 每个线程都拥有独立的栈内存来存储本地数据(本地数据:本地的变量、方法和栈的调用等)

3.怎么创建线程,或者怎么实现线程?优先选择那个方法?

创建线程可以通过:继承Thread类,或者实现runnable接口;

一般优先选择实现runnable接口,重写run()方法实现线程,因为Java不支持多重继承;

4. start()与run()方法的区别?

  • start()用来启动新的线程,它内部也有调用到run()方法;
  • 不一样的是,直接调用run()方法,是在原来的线程中调用,不启动新线程。

5.runnable与callable的区别?

首先,Runnable在JDK1.0版本的时候就有了,而Callable实在JDK1.5版本才新增进来的,其次是Callable的call()方法可以返回值和抛出异常,但是Runnable的run()方法没有这个功能;

还有,就是Callable可以返回装载有计算结果的future对象。

多线程笔记

原文:https://www.cnblogs.com/4AMLJW/p/sdiusup.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!