妖碧落

导航

多线程理论知识

什么是多线程:  

    * 线程是程序执行的一条路径, 一个进程中可以包含多条线程
    * 多线程并发执行可以提高程序的效率, 可以同时完成多项工作

多线程的应用场景
    * 红蜘蛛同时共享屏幕给多个电脑
    * 迅雷开启多条线程一起下载
    * QQ同时和多个人一起视频
    * 服务器同时处理多个客户端请求

 

并行和并发的区别  

    * 并行就是两个任务同时运行,就是甲任务进行的同时,乙任务也在进行。(需要多核CPU)
    * 并发是指两个任务都请求运行,而处理器只能按受一个任务,就把这两个任务安排轮流进行,由于时间间隔较短,使人感觉两个任务都在运行。


      * 比如我跟两个网友聊天,左手操作一个电脑跟甲聊,同时右手用另一台电脑跟乙聊天,这就叫并行。
      * 如果用一台电脑我先给甲发个消息,然后立刻再给乙发消息,然后再跟甲聊,再跟乙聊。这就叫并发。

 

 多线程原来是并发,底层还是CPU轮流切换任务

 

Java程序运行原理:

    启动Java虚拟机,启动JVM,等于启动了一个应用程序,也就是启动了一个进程  ,这时会自动启动一个“主线程”,然后主线程去调某个类的main方法

 

Java启动是多线程的,至少需要启动  主线程 和  垃圾回收线程

    Object类的finalize()方法就是垃圾回收器。通过System.gc()  也可以调用垃圾回收器

    匿名对象就会在内存中产生垃圾

 

posted on 2019-08-08 23:16  妖碧落  阅读(179)  评论(0编辑  收藏  举报