多线程

概念

进程

  • 计算机中已运行程序的实体。
  • 进程本身不会运行,是线程的容器。
  • 程序本身只是指令的集合,进程才是程序(那些指令)的真正运行。
  • 若干进程有可能与同一个程序相关系,且每个进程皆可以同步(循序)或不同步(平行)的方式独立运行。
  • 进程为现今分时系统的基本运作单位。1

线程

  • 操作系统技术中的术语,是操作系统能够进行运算调度的最小单位。
  • 它被包涵在进程之中,一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

并发运行

  • 并发运行实现并发技术相当复杂,最容易理解的是“时间片轮转进程调度算法”,它的思想简单介绍如下:
  • 在操作系统的管理下,所有正在运行的进程轮流使用CPU,每个进程允许占用CPU的时间非常短(比如10毫秒),这样用户根本感觉不出来CPU是在轮流为多个进程服务,就好象所有的进程都在不间断地运行一样。2

并行运行

  • 并行是指“并排行走”或“同时实行或实施”。
  • 在操作系统中是指,一组程序按独立异步的速度执行,无论从微观还是宏观,程序都是一起执行的。
  • 对比地,并发是指:在同一个时间段内,两个或多个程序执行,有时间上的重叠(宏观上是同时,微观上仍是顺序执行)。
    多线程和多进程
  • 一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行
  • (轮流获取cpu的时间片,在总体上给人的感觉是同时在执行,这是并发,还有一个名词叫并行,就是多核多cpu,真正的同时在执行,不过现在实现难度有点大,在用处上主要用在并行计算)
  • 至少要有一个线程
  • 相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。

参考

全部评论

相关推荐

11-29 11:21
门头沟学院 Java
点赞 评论 收藏
分享
求个公司要我:接好运
点赞 评论 收藏
分享
10-04 17:25
门头沟学院 Java
snqing:Java已经饱和了,根本不缺人。随便一个2000工资的都200人起投递
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务