码迷,mamicode.com
首页 > 编程语言 > 详细

Thread(线程) 多线程并发

时间:2021-05-23 23:47:11      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:expand   head   目的   继承   切换   data-   内部类   单元   tar   

多线程

  1. 进程:一个启动的应用程序(进程A与进程B的内存独立不共享)

  2. 线程:一个进程的执行场景/单元(线程A与线程B的内存可能共享,也可能独立)

    • 例如在Java语言中,堆内存和方法区内存共享(因为其内存空间是固定的);但占栈内存独立,一个线程一个栈,每个栈之间互不干扰,即每个线程之间互不干扰,此即为多线程并发。

    • java中的多线程机制,目的是提高程序的处理效率。单线程处理速度慢。

    • 一个进程中可以启动多个线程。

    • main方法结束不代表所有线程结束,只代表主线程结束

  3. 多线程并发

    • 多核CPU可以做到多线程并发

    • 单核CPU不可以做到真正的多线程并发,但可以做到给人一种多线程并发的感觉。单核CPU在一个时间点实际上只能处理一件事情,但由于CPU的处理速度极快,因此多个线程之间频繁切换执行,几乎等同于多个线程并发执行。

  4. java语言中,实现线程有两种方式:

    • 方式1:编写一个类直接继承Thread ,重写run方法

    • 方式2:编写一个类,实现接口Runnable接口

    • 方式3:匿名内部类实现Runnable接口。此方法存在只能创建一个进程的缺陷

    • 综上,方法2 最为适合

Thread(线程) 多线程并发

标签:expand   head   目的   继承   切换   data-   内部类   单元   tar   

原文地址:https://www.cnblogs.com/a-n-yan/p/14728627.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!