当前位置:首页 > 编程笔记 > 正文
已解决

JAVAEE 初阶 多线程基础(一)

来自网友在路上 154854提问 提问时间:2023-11-19 04:04:30阅读次数: 54

最佳答案 问答题库548位专家为你答疑解惑

多线程基础

    • 一.线程的概念
    • 二.为什么要有线程
    • 三.进程和线程的区别和关系
    • 四.JAVA的线程和操作系统线程的关系
    • 五.第一个多线程程序
      • 1.继承Thread类

一.线程的概念

一个线程就是一个 “执行流”. 每个线程之间都可以按照顺讯执行自己的代码. 多个线程之间 “同时” 执行着多份代码

同时,线程保证了独立的调度执行,而且也省去了资源的开销.

在这里插入图片描述
在这里插入图片描述

二.为什么要有线程

首先, “并发编程” 成为 “刚需”.
单核 CPU 的发展遇到了瓶颈. 要想提高算力, 就需要多核 CPU. 而并发编程能更充分利用多核 CPU资源.有些任务场景需要 “等待 IO”, 为了让等待 IO 的时间能够去做一些其他的工作, 也需要用到并发编
程.
其次, 虽然多进程也能实现 并发编程, 但是线程比进程更轻量.创建线程比创建进程更快.销毁线程比销毁进程更快.调度线程比调度进程更快.
最后, 线程虽然比进程轻量, 但是人们还不满足, 于是又有了 “线程池”(ThreadPool) 和 “协程”(Coroutine)

三.进程和线程的区别和关系

1.进程至少包含一个线程
2.每个线程,是一个独立的执行流,它有独立执行的能力,同时也省去了分配资源和释放资源的开销,单独的参与到CPU的调度中(状态.上下文.优先级,记账信息等)
3.每个进程都有自己的资源,线程之间共用这些资源
4.线程并不是越多越好,有时候会降低效率.
5.同一个进程中的线程之间,可能会互相干扰.造成线程安全问题.
6.进程之间不会相互影响,但是线程和线程之间,如果某一个线程抛出异常,可能会对其他的线程造成影响,将整个进程中的全部线程中止.

四.JAVA的线程和操作系统线程的关系

线程是操作系统中的概念. 操作系统内核实现了线程这样的机制, 并且对用户层提供了一些 API 供用户使用(例如 Linux 的 pthread 库).Java 标准库中 Thread 类可以视为是对操作系统提供的 API 进行了进一步的抽象和封装

五.第一个多线程程序

1.继承Thread类

在这里插入图片描述
在这里插入图片描述

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"JAVAEE 初阶 多线程基础(一)":http://eshow365.cn/6-38888-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!