进程与线程

进程

概念:进程是能和其他程序并行执行的程序段在某数据集合上的一次运行过程,他是系统资源分配和调度的一个基本独立单位。

进程控制块(PCB):当系统要创建一个进程时,必须要申请一定的内存空间,为该进程建立PCB,以后系统就依据该PCB的各项内容对进程实行控制和管理。

PCB一般包括以下内容。

    1.进程名:也称进程标示符,用于唯一标识一个进程;一般分为内部名和外部名

    2.当前状态:进程当前的所处的状态。

    3.进程优先级

    4.现场信息保护区:当进程因为某件事情暂停时,CPU现场信息必须保存在PCB中,以便重新获得CPU是,能很快恢复现场

    5.程序和数据的地址:进程所对应的程序和数据所在的内存或外存地址,方便调度

    6.资源清单:一张列出的CPU以外的进程所需要的全部资源,以及已经分配到该进程的资源清单,如I/O设备,打开的文件等

    7.队列指针:同一状态的PCB通常链接成一个队列。

    8.进程的”家族“关系:父进程,子进程

PCB的组织方式一般有

    1.线性方式

    2.链接方式

    3.索引方式

进程的三种基本状态:

    1.就绪状态

    2.执行状态

    3.阻塞状态

进程控制:

    为了对进程进行控制,操作系统中必须设置一个机构,他具有创建进程,撤销进程以及其他管理功能。这是操作系统中最常见、最核心的内容,常称为内核。它是操作系统的管理和控制中心,往往通过执行各种原语操作来实现的。原语->机器指令

    1.创建原语:创建进程

    2.撤销原语:撤销进程,撤销PCB

    3.阻塞原语:调用阻塞原语来把进程阻塞起来

    4.唤醒原语:唤醒阻塞进程

进程调度:

    1.高级调度(宏调度或作业调度):将外存中的后备作业调度内存中

    2.中级调度:负责内外存之间的进程对换

    3.低级调度:决定就绪队列中的那个进程将获得处理器

调度功能包括

    (1)保护现场

    (2)从PCB表中选择符合条件的进程,并分配CPU

    (3)回复原来的现场

   调度的方式分为剥夺式和非剥夺式

    剥夺式:抢占式,包括优先级方式、短进程原则、时间片原则

    非剥夺式:独占CPU之道主动让出CPU

进程调度算法:

    1.时间片轮换法

    2.优先级调度

        (1)静态优先级:进程创建时确定优先级

        (2)动态优先级:进程执行期间,按某种原则不断修改进程优先级;例如进程占用CPU长短,进程等待CPU时间长短等等

    3.多重队列轮换法:将时间片轮换法中的单就绪队列改为双就绪队列或者多就绪队列,并给每个队列赋予不同的优先权。

线程

         概念:线程是比进程更小的独立运行的基本单位,是CPU调度的基本单位。线程默认共享当前进程的内存和资源。这种共享的优点是允许同一进程,同一地址空间存在多个线程。

多线程的优点

    (1) 响应度高;比如说一个交互式的程序,比如说QQ视频聊天时,视频传输很明显是耗时的,而且很多时候都会出现视频卡的现象,这个时候假如说我们采用多线编程,当一个视频阻塞的时候,当前这个程序仍能运行,我们仍然通过另外一些线程可以 打字,语音等。

    (2) 资源共享,线程默认共享当前进程内的内存和资源。这种共享的优点是 允许同一进程,同一地址空间 存在多个线程

    (3)经济,系统开销小;创建进程是要系统分配资源的,回收进程是要回收资源的,这个过程比较耗时,而创建线程则相对来说快速的多。

    (4)充分利用处理器资源;现在的处理器一般为多核的,当有多个线程的时候,同一时刻,每个核都能在工作,并行的工作;但是假如说的单线程的话,只能运行在一个核上,相对来说,另外一个核就浪费了,所以使用多线程能充分利用CPU的资源,加快程序执行的速率。






资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在 IT 领域,文档格式转换是常见需求,尤其在处理多种文件类型时。本文将聚焦于利用 Java 技术栈,尤其是 Apache POI iTextPDF 库,实现 doc、xls(涵盖 Excel 2003 及 Excel 2007+)以及 txt、图片等格式文件向 PDF 的转换,并实现在线浏览功能。 先从 Apache POI 说起,它是一个强大的 Java 库,专注于处理 Microsoft Office 格式文件,比如 doc xls。Apache POI 提供了 HSSF XSSF 两个 API,其中 HSSF 用于读写老版本的 BIFF8 格式(Excel 97-2003),XSSF 则针对新的 XML 格式(Excel 2007+)。这两个 API 均具备读取写入工作表、单元格、公式、样式等功能。读取 Excel 文件时,可通过创建 HSSFWorkbook 或 XSSFWorkbook 对象来打开相应格式的文件,进而遍历工作簿中的每个 Sheet,获取行列数据。写入 Excel 文件时,创建新的 Workbook 对象,添加 Sheet、Row Cell,即可构建新 Excel 文件。 再看 iTextPDF,它是一个用于生成修改 PDF 文档的 Java 库,拥有丰富的 API。创建 PDF 文档时,借助 Document 对象,可定义页面尺寸、边距等属性来定制 PDF 外观。添加内容方面,可使用 Paragraph、List、Table 等元素将文本、列表表格加入 PDF,图片可通过 Image 类加载插入。iTextPDF 支持多种字体样式,可设置文本颜色、大小、样式等。此外,iTextPDF 的 TextRenderer 类能将 HTML、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值