首页 > 其他分享 >线程简介

线程简介

时间:2022-09-29 20:34:52浏览次数:49  
标签:多个 简介 调度 线程 进程 多线程 cpu

线程简介

一、多任务

在这里插入图片描述

现实中太多这样同时做多件事情的例子了,看起来是多个任务都在做,其实本质上我们的大脑在同一时间依旧只做了一件事情

二、多线程

在这里插入图片描述

原来是一条车道,车多了后,道路阻塞,效率极低。为了提高使用的效率,于是加了多个车道。

普通方法调用和多线程

在这里插入图片描述

三、程序.进程.线程

在这里插入图片描述

一个进程可以有多个线程,如视频中同时听声音,看图像,看弹幕,等等。

四、Process与Thread

  • 程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。

  • 进程是执行程序的依次执行过程,它是一个动态的概念。是系统资源分配的单位。

  • 通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的单位。

注意:模拟的多线程

  • 很多多线程是模拟出来的,真正的多线程是指有多个cpu,即多核,如服务器。如果是模拟出来的多线程,即在一个cpu的情况下,在同一个时间点,cpu只能执行一个代码,因为切换的很快,所以就有同时执行的错局。

五、核心概念

线程:线程就是独立的执行路径。

多线程:在程序运行时,即使没有自己创建线程,后台也会有多个线程,比如主线程,GC线程。

主线程:main()称之为主线程,为系统的入口,用于执行整个程序。

线程的运行:在一个进程中,如果开辟了多个线程,线程的运行是由调度器(cpu)安排调度的,调度器是与操作系统紧密相关的,先后顺序是不能人为干预的。

资源抢夺的问题:对同一份资源操作时会存在资源抢夺的问题,需要加入并发控制。

线程的额外开销:线程会带来额外的开销,如CPU调度时间,并发控制开销。

交互数据:每个线程在自己的工作内存交互数据,内存控制不当会造成数据不一致。

标签:多个,简介,调度,线程,进程,多线程,cpu
From: https://www.cnblogs.com/gcbeen/p/16742967.html

相关文章

  • 多线程
    packagecom.bkc.bpmp.modules.external.service;importjava.util.concurrent.*;importjava.util.Date;importjava.util.List;importjava.util.ArrayList;/***Java线程......
  • python 线程
    1.1线程的背景知识importthreading#导入线程相关的模块t=threading.current_thread()#返回当前线程print(t)#主线程执行print(t.getName())#线程名字print......
  • python5种线程锁
    # 线程安全线程安全是多线程或多进程编程中的一个概念,在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会......
  • python的多线程
    一、线程的概念线程是CPU分配资源的基本单位。当一程序开始运行,这个程序就变成了一个进程,而一个进程相当于一个或者多个线程。当没有多线程编程时,一个进程相当于一个主线程......
  • WPF 给 Pen 的 DashStyle 设置 0 0 的虚线数组将会让渲染线程消耗大量 CPU 资源
    给WPF的Pen的DashStyle属性设置00的虚线,在绘制几何图形时,绘制的几何图形的尺寸将关联渲染线程所使用的CPU资源。大约在周长大于500时,将可以从任务管理器上看......
  • WPF 应用启动过程同时启动多个 UI 线程且访问 ContentPresenter 可能让多个 UI 线程互
    在应用启动过程里,除了主UI线程之外,如果还多启动了新的UI线程,且此新的UI线程碰到ContentPresenter类型,那么将可能存在让新的UI线程和主UI线程互等。这是多线程......
  • mysql if语句简介
    mysql的if既可以作为表达式用,也可以在存储过程中作为流程控制语句使用,如下是作为表达式使用:if表达式IF(expr1,expr2,expr3)如果expr1是TRUE(expr1<>0andexpr1<>......
  • mysql ascii()函数简介
    在mysql中ASCII()函数是把字符转换成ascii码值的函数.语法:ASCII(str)返回字符串str最左面字符的ASCII代码值,如果str是空字符串,返回0,如果str是NULL,返回NULL.举例:1.代码......
  • docker 简介和使用总结:image,container,dockfile,nginx,redis,compose
    硬件发展速度:asp.net+sql+redis+nginx:资源利用率太低,多软件工具不能隔离,相互影响,不能快速部署 0.docker简介和使用总结:image,container,dockfile,nginx,redis,compose......
  • Invoke-PSImage 使用简介
    github:​​peewpw/Invoke-PSImage​​简介:EncodesaPowerShellscriptinthepixelsofaPNGfileandgeneratesaonelinertoexecuteInvoke-PSImagetakesaPowerSh......