首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    进程,线程,协程与并行,并发

    进程的出现是为了更好的利用CPU资源使到并发成为可能。 假设有两个任务A和B,当A遇到IO操作,CPU默默的等待任务A读取完操作再去执行任务B,这样无疑是对CPU资源的极大的浪费。聪明的老大们就在想若在任务A读取数据时,让任务B执行,当任务A读取完数据后,再切换到任务A执行。注意关键字切换,自然是切换,那么这就涉及到了状态的保存,状态的恢复,加上任务A与任务B所需要的系统资源(内存,硬盘,键盘等等)是不一样的。自然而然的就需要有一个东西去记录任务A和任务B分别需要什么资源,怎样去识别任务A和任务B等等。登登登,进程就被发明出来了。通过进程来分配系统资源,标识任务。如何分配CPU去执行进程称之为调度,进程状态的记录,恢复,切换称之为上下文切换。进程是系统资源分配的最小单位,进程占用的资源有:地址空间,全局变量,文件描述符,各种硬件等等资源。

    04

    Java 多线程---基本概念

    ** 进程本质是执行中的程序。 线程是程序中流控制。本身是不能执行的,只能使用分配给程序的资源。 进程-线程 一个进程可以包含一个或者多个线程,但是至少要包含一个线程。 多进程-允许计算机运行两个或者更多的程序。    -多进程内部的数据和状态时完全独立的。    -进程通信成本高,难度大。    -进程与进程切换负担大。    -多进程需要大的管理成本。 多线程-一个程序实现多个代码同时交替运行,则需要产生多线程。    -多线程共享一块内存空间和一组系统资源,可能相互影响。    -线程通信成本低,难度小。    -线程与线程切换负担小。    -多线程比较容易管理。 **

    04
    领券