多线程学习一

首先从三个问题来记录学习的过程
1.什么是线程,它与进程的关系是什么,它的作用和意义是什么?
2.怎么使用多线程,具体有哪些使用方法?
https://blog.csdn.net/hzr0523/article/details/83590988
3.使用多线程后,带来的问题有哪些,解决方法有哪些?

本片文章将介绍第一个问题

一、什么是多线程,它与进程的关系是什么,它的作用和意义是什么?

多线程这个词汇,对于程序员来说,并不陌生。首先了解下线程的概念,以及线程与进程的区别?

1.什么是线程?

线程有时候被称为轻量级进程,现代大部分操作系统把线程作为时序调度的基本单元,而不是进程。在没有明确协调的情况下,线程相互间同时或异步的执行。因为线程共享其所属进程的内存空间,因此所有同一进程中的线程访问相同的变量,并且从同一个堆中分配对象,这相对于进程间的通信(inter-process)机制来说,实现了良好的数据共享。
但是,如果没有明确的同步来管理共享数据,一个线程可能会修改其他线程正在使用的数据,产生意外的结果。

2.线程与进程的关系?

1)根本区别: 进程是资源分配的基本单位,线程是任务执行和调度的基本单位
2)开销: 每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。
3)所处环境: 在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时执行(通过CPU调度,在每个时间片中只有一个线程执行)
4)内存分配: 系统在运行的时候会为每个进程分配不同的内存空间;而对线程而言,除了CPU外,系统不会为线程分配内存(线程所使用的资源来自其所属进程的资源),线程组之间只能共享资源。
5)包含关系: 没有线程的进程可以看做是单线程的,如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。

3. 多线程的作用和意义?

多线程可以提高程序运行效率,充分利用CPU的资源,提高CPU的使用率。
.大多数的情况下, 使用多线程 主要是需要处理大量的IO操作或处理的情况需要花大量的时间等;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值