线程概念详解(Thread)

线程是CPU调度的基本单位,比进程更小。进程间独立,线程间共享内存,多线程用于最大化CPU资源利用。Java中实现线程有两种方式:继承Thread类或实现Runnable接口。启动线程通过start(),执行代码在run()中。多线程执行顺序由CPU决定,单核宏观并行,双核及以上微观并行。
摘要由CSDN通过智能技术生成

线程和进程的区别: 一个进程内可以有多个线程,线程是比进程更小的单位
1、 进程是系统分配资源的基本单位,线程是CPU调度的基本单位,进程是程序的一次执行,线程是CPU调度的一次执行
2、进程之间是相互独立的,每个进程拥有自己的一块自身内存区域(进程间的通信是需要解决的问题),而多个线程之间是共享一块内存区域和一组资源的,有可能相互影响(因此会产生多个线程同时访问某一块数据的时候会导致数据不一致的问题,因此线程之间的同步是很重要的一件事情)
3、 线程基本上不拥有资源,只拥有一点在运行中必不可少的资源(寄存器,栈,程序计数器),所以线程的切换要比进程切换的负担小,但是它可与同一个进程的其他线程共享进程所拥有的全部资源
4、一个线程可以创建和撤消另一个线程,同一个进程中的多线程之间可以并发执行,但是线程是程序内部的顺序控制流,本身不能运行,它只能用于程序之中,使用分配给程序的内存资源和环境。

进程:执行中的程序(程序是静态的概念,进程是动态的概念)

多线程: 是指在单个程序中可以同时运行多个不同的线程,执行不同的任务。
多线程编程的目的: 就是最大限度的利用CPU资源,当某一线程的资源只需要I/O而不需要CPU资源的时候,可以先放弃CPU的占用让需要CPU资源的其他线程使用。

单线程: 当程序启动时,就会自动产生一个线程,主方法main就是在这个主线程上运行。

线程中的重点: 线程的生命周期,线程的实现,多线程的同步

多线程:一个程序实现多个代码同时交替运行就需要产生多个线程,
CPU随机的抽取时间,让我们的线程一会儿做这件事情,一会做另外一件事情
和其他语言不同,java内置支持多线程编程,每个线程都有独立的执行路径,因此多线程是多任务处理的一种特殊形式
多任务处理被所有的现代操作系统所支持,然而,多任务处理器有两种截然不同的类型:基于进程的和基于线程的
进程需要分配给独立的地址空间,进程间的通信是昂贵的受限的,进程间的转换也是很需要花费时间

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值