程序,进程,线程详解

来源:互联网 发布:数据挖掘实战 pdf 编辑:程序博客网 时间:2024/06/06 01:31

1,程序: 指令集,及我们敲的code,静态概念

2,进程:操作系统调用程序,动态概念,每个进程都是独立的,占用内存,cpu调度

3,线程:进程内的多条执行路径,它是一个轻量级的进程


进程和线程的区别

根本区别:进程作为资源分配的单元,线程调度和执行的单元

开销:进程开销大,线程切换开销少

内存:系统为进程分配不同的内存空间,线程使用所属进程的资源,

包含;进程包含一个或多个线程,线程是一个轻量级的进程


线程的创建:

方法一:extends  继承 Thread类,重写run(),实例化该类,调用start()方法,启动线程,该方法的缺点;java单继承,继承Thread类,无法再继承其他类,没有拓展性


方法二:实现Runnable接口(用到静态代理),重写run(),实例化该类(真实角色),传入到Thread类中(代理类),调用start(),启动


方法三:实现Callable接口,优点:可以返回值,可以对外声明异常,繁琐,重写call()