zoukankan      html  css  js  c++  java
  • 多线程简介

    多线程

    多线程是为了解决 提高程序的执行效率或者从根本上提高CPU的执行效率而来。

    进程和线程的区别

    • 进程:

      就是正在运行的程序。可以打开任务管理器查看。一个软件或一个程序的运行可以依赖一个进程或者多个进程。

    • 线程:

      操作系统能够进行运算调度的最小单位,是进程的实际运作单位。一个软件的运行最少依赖一个进程,一个进程的运行最少依赖一个线程. 一个进程包含一个线程就是单线程程序,也可以包含多个线程就是多线程程序

      线程概念图:

      线程

    • 进程和线程的关系:

      进程有独立的存储空间,可以存线程,也可以有多个线程共享的空间、线程有独立空间,线程间暂时无法通信。线程之间也是独立的。

      进程和线程关系概念图: (整个大框是进程, 一个Thread是一个线程)

      关系

    并发和并行的区别:

    • 并发

      多个程序抢占了同一个CPU资源。形成了资源被抢占的现象。例如:抢购秒杀!

    • 并行

      有多个CPU,每个CPU只负责一件事情,没有发生抢占现象

    多线程的特点

    1. 随机性:

      是指,操作系统的程序执行权,会交给CPU,CPU我们控制不了,全都是操作系统调度的。

    2. 线程状态

      新建状态、可运行状态、运行状态、终止状态、阻塞状态。

  • 相关阅读:
    数据库事务查看
    在SQL中删除重复记录(多种方法)
    OO设计原则
    NHibernate开源框架Cuyahoga学习之权限映射
    链队列的实现
    二叉树的实现
    NHibernate.cfg.xml文件配置
    HQL查询实例
    对象枚举遍历实现二
    NHibernate开源框架Cuyahoga学习之数据访问泛型约束的实现
  • 原文地址:https://www.cnblogs.com/zpKang/p/12941164.html
Copyright © 2011-2022 走看看