万门JAVA零基础特训班 第12讲 多线程和并行程序设计

1.进程(process)是程序的一次执行过程,是系统运行程序的基本单位。程序是静态的,进程是动态的。系统运行一个程序即是一个进程从创建、运行到消亡的过程。

2.多任务(multi task)在一个系统中可以同时运行多个程序,即有多个独立运行的任务,每个任务对应一个进程。

 

3.线程(thread):比进程更小的运行单位,是程序中单个顺序的流控制。一个进程中可以包含多个线程。

4.简单来讲,线程是一个独立的执行流,是进程内部的一个独立执行单元,相当于一个子程序

5.一个进程中的所有线程都在该进程的虚拟地址空间中,使用该进程的全局变量和系统资源

6.操作系统给每个线程分配不同的CPU时间片,在某一时刻,CPU只执行一个时间片内的线程,多个时间片中的相应线程在CPU内轮流执行

 

7.为什么要使用多线程?

(1)线程之间共享相同的内存单元(代码和数据),因此在线程间切换,不需要很大的系统开销,所以线程之间的切换速度远远比进程之间快,线程之间的通信也比进程通信快的多

(2)多个线程轮流抢占CPU资源而运行时,使系统资源特别是CPU的利用率得到提高,从而提高整个程序的执行效率

 

8.

 

9.对于线程,最重要的一步是编写Run:

 

10.要定义的线程类已经显示继承了一个其他的类怎么办?

Runnable接口(适合于资源的共享)

 

11.

12.

 

13.

 

14.

 

15.

17.实际的软件开发中,只要用到了多线程,除了要执行线程的同步与互斥之外,线程很多时,虚拟机要消耗很多资源去管理这些内存,调度这些线程,所以会降低应用程序的性能,需要进行优化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值