成都校区javaEE线程面试总结

Posted 黑马程序员成都中心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了成都校区javaEE线程面试总结相关的知识,希望对你有一定的参考价值。

什么是多线程

多线程的基本概念
            1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程)            一个进程(程序)的所有任务都在线程中执行。
什么是进程
          进程是一个具体的应用程序,线程是进程中的一个分支,为单独完成程序中的某一项或一组功能而存在。
应用程序可以有一个或多个进程,一个进程可以有一个或多个线程,其中一个是主线程(线程是进程中的实体,一个线程必须有一个父进程)
三、多线程的作用
     
 多线程不是为了提高执行速度,而是提高了应用程序的使用率。
      线程和线程共享“推内存和方法区内存”栈内存是独立的,一个线程一个栈
      可以给现实世界的人类一种错觉:感觉多个线程在同时并发进行。

四、多线程并行和并发:
        A:并行是逻辑上同时发生,指在某一个时间内同时运行多个程序

    B:并发是物理上同时发生,指在某一个时间点同时运行多个程序

五、Java运行原理
      java命令会启动java虚拟机,启动JVM,等于启动了一个应用程序,也就是启动了一个进程。该进程会自动启动一个“主线程”,然后主线程去调用某个类的main方法。所以main方法运行在主线程中。在此之前的所有程序都是单线程。


六、多进程的意义:

       单进程的计算机只能做一件事,而现在都可以做多件事情,支持多进程,可以在一个时间段内执行多个任务。 提高CPU的使用率~

       问题:
[size=15.4545px]           一边玩游戏,一边听音乐是同时进行吗?
          不是。因为单COU在某一个时间点上只能做一件事情。(多核可以实现,但是会有很多进程,就不行了)

          而我们在玩游戏,或者听音乐的时候,是CPU在做着程序间的高效切换让我们觉得是同时进行的。    切换时间超短

七、多线程的优点 
    
   能适当提高程序的执行效率      
   能适当提高资源利用率(CPU、内存利用率)

八、
多线程的缺点

    创建线程是有开销的,ios下主要成本包括:内核数据结构(大约1KB)、栈空间(子线程512KB、主线程1MB,也可以使用
-setStackSize:设置,但必须是4K的倍  数,而且最小是16K),创建线程大约需要90毫秒的创建时间如果开启大量的线程,会降低程序的性能线程越多,CPU在调度线程上的开销就越大程序设计更加复杂:比如线程之间的通信、多线程的数据共享


以上是关于成都校区javaEE线程面试总结的主要内容,如果未能解决你的问题,请参考以下文章

高薪直通车丨西安校区JavaEE面试经验分享

高薪直通车丨JavaEE面试经验分享联**讯网络科技

高薪直通车丨直击JavaEE面试现场(中**盟)

成都校区Ajax

042期JavaEE面试题汇总

JavaEE面试总结