三、多线程之小问题

1.什么是多线程?为什么程序的多线程功能是必要的?

答:多线程就是同时执行一个以上的线程,一个线程的执行不必等待另一个线程执行完后才执行,所有线程都可以发生在同一时刻。由于每一个进程的内部数据和状态都是完全独立的,所以即使它们是同一个程序所产生,也必须重复许多的数据复制工作,而且在交换彼此数据的时候,也要再使用一些进程间通信的机制,这样就增加了系统负担。
由于同一进程的各个线程之间可以共享相同的内存空间,并利用这些共享内存来完成数据交换、实时通信及必要的同步工作,所以各线程之间的通信速度很快,线程之间进行切换所占用的系统资源也较少,所以引进多线程功能是必要的。

2.多线程与多任务的差异是什么?

答:多任务与多线程是两个完全不同的概念,多任务是针对操作系统而言的,表示操作系统可以同时运行多个应用程序,而多线程是指一个进程而言的,表示在一个过程内部可以同时执行多个线程。

3.在什么情况下必须以类实现Runnable接口来创建线程?

答:如果一个类本身已经继承了某个父类,由于Java语言不允许类的多重继承,所以就无法再继承Thread 类,特别是小程序,这种情况下若要实现多线程的功能可以创建一个类,该类必须来实现Runnable接口。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  •   一个任务通常就是一个程序,每个运行中的程序就是一个进程。当一个程序运行时,内部可能包含了多个顺序执行流,每个顺...
    OmaiMoon阅读 1,798评论 0 12
  • Java-Review-Note——4.多线程 标签: JavaStudy PS:本来是分开三篇的,后来想想还是整...
    coder_pig阅读 1,750评论 2 17
  • 1.1 多线程介绍 学习多线程之前,我们先要了解几个关于多线程有关的概念。 进程:进程指正在运行的程序。确切的来说...
    Pecksniff1994阅读 1,637评论 0 2
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,564评论 1 32
  • 先看几个概念:线程:进程中负责程序执行的执行单元。一个进程中至少有一个线程。多线程:解决多任务同时执行的需求,合理...
    yeying12321阅读 609评论 0 0

友情链接更多精彩内容