Java线程与进程

1.进程:

        进程是程序的一次执行过程,是系统运行程序的基本单位
        系统运行一个程序即是一个进程从创建、运行、到消亡的过程
        每个进程都有一个独立的内存空间,一个应用进程可以同时运行多个进程
                【进程 其实就是应用程序的可执行单位.exe文件】
                【每个进程都有一个独立的空间,一个应用程序可以同时运行多个进程】

2.线程:

        是进程的执行单元,负责当前进程中程序的进行,一个程序中至少有一个线程
        一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序
              【线程 其实就是进程的可执行单元】
              【每条线程都有独立的空间,一个进程可以同时运行多个线程】

3.多线程并行:

        指的是多条线程在同一时刻同时执行(赛马,比赛跨栏等运动项目)

4.【多线程并发】:多条线程在同一时间交换执行
5.在Java中线程的调度是:抢占式调度

6.进程与线程的区别:

        进程: 有独立的内存空间,进程中的数据存放空间(堆空间和栈空间)是独立的,至少有一个线程
        线程: 堆空间是共享的,栈空间是独立的,线程消耗的资源比进程小的多

7. 线程调度:

        分时调度: 所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间
        抢占式调度: 优先让优先级高的线程使用CPU,如果线程的优先级相同,那么就会随机选择一个,线程的随机性
                Java使用的就是抢占式调度

8.Thread类的概述:

        表示线程,也叫做线程类,创建该类对象,就是创建线程对象(也可以叫做创建一个线程)
        线程的任务:执行一段代码
        Runnable:接口,线程任务接口

9.Thread类的构造方法

        线程要开启的话,需要用到java.lang.Thread类,API类中定义了有关线程的一些方法
                - public Thread()   分配一个新的线程对象,线程名称是默认生成
                - public Thread(String name)    分配一个指定名字的新的线程对象
                - public Thread(Runnable target)    分配一个带有指定目标新的线程对象,线程名称是默认生成的
                - public Thread(Runnable target,String name)    分配一个带有指定目标新的线程对象并指定了名字

10.创建线程的方式有【两种】

        1.是通过继承Thread类的方式
        2.是通过实现Runnable接口的方式

11.Thread类的常用方法

        - public String getName()   获取当前线程的名称
        - public void start()   导致此线程开始执行,Java虚拟机调用此线程的run方法
        - public void run() 此线程要执行的任务在此定义代码
        - public static void sleep(long millis)  是当前正在执行的线程以指定的毫秒数暂停(暂时停止该线程)
        - public static Thread currentThread()  返回对当前正在执行的线程对象的引用

12.通过两种创建线程的方式后总结:

        通过Runnable接口实现,使得实现类有了多线程的特征,run方法是多线程程序的一个执行目标,所有的多线程代码都在run方法中
        实际上,Thread类也是实现了Runnable接口的类
        在启动多线程的时候,需要先通过Thread类的构造方法Thread(Runnable target)构造对象,然后调用Thread对象的start方法来循行多线程代码
        实际上,所有的多线程代码都是通过运行Thread类的start方法来运行的
        因此,不管是继承Thread类还是实现Runnable接口来实现多线程,最终还是通过Thread类的对象的API来控制线程的
        因此,如果你是实现Runnable接口运行多线程的话,你需要知道:
        Runnable对象仅仅作为Thread类对象的target,Runnable实现类包含run方法仅仅作为线程执行体
        实际上,线程对象依然是Thread实例,只是该Thread线程负责执行其target的run方法而已

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值