Java中的进程 线程

一、进程

1、进程:

系统进行资源调度和分配的一个单位。当程序进入内存运行时,即为进程。

2、进程的三大特点:

(1)独立性:独立拥有资源,有独立的空间地址;

(2)动态性:有自己的生命周期和状态;

(3)并发性:某一时刻,只有一个命令在CPU执行。但是在某一段时间,多条命令轮换执行,宏观上看就像多个进程同时执行一样;

二、线程:

1、线程:

进程的组成部分,是进程包含的多个顺序执行流。

2、线程的特点:

(1)每个进程可以有多个线程,而一个线程必有一个父进程;

(2)线程可以拥有自己的堆栈、程序计数器、局部变量,但是不能拥有系统资源,它与父进程的其他线程共享父进程的资源;

(3)线程是独立运行的,不知道进程中还有其他线程;

(4)线程的执行是抢占式的;

(5)一个线程可以创建或撤销另一个线程,一个进程中的多个线程可以并发执行;

3、Java中线程的创建:

(1)继承Thread类,重写run方法,调用start方法启动该线程;

(2)实现Runnable接口,重写run方法。将Runnable接口的实现类作为Thread类的target;

(3)使用Callable和Future

  • 实现Callable接口,重写call方法,但是有返回值,且可进行异常处理;
  • FutureTask包装Callable接口的实现类,封装call方法的返回值;
  • FutureTask对象作为Thread类的target;
  • FutureTask的get方法获取执行后的返回值;
  • (4)对比:

使用接口可以继承其他类。多个线程共享一个target对象,非常适合多线程处理同一份资源。将CPU、代码、数据分开,形成清晰模型

4、Java中开发多线程的包:java.util.concurrent

包中常用多线程类:ThreadLocal、原子类、Lock、容器类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值