多线程简述

Thread类

Thread类可以理解为是java用于管理线程的一个类,里面封装了操作系统提供的线程管理这一方面的应用编程接口API,Java代码创建的每个线程都可以理解为Thread实例化的对象,Thread对象用于描述线程的信息。Java标准库中Thread类可以视为是对操作系统对线程管理方面提供的API进行了进一步的抽象和封装。

定义类继承Thread类,并重写Thread类的run()方法,该run()方法的方法体就代表了线程需要完成的任务。因此把run()方法称为线程执行体

构造器方法

Thread() 创建线程对象

Thread(Runnable) 使用Runnable对象创建线程对象

Thread(String) 创建线程对象,参数为线程名称

Thread(Runnable, String) 使用Runnable接口对象创建线程对象,并对线程命名

Thread(ThreadGroup,Runnable) 线程可以用来分组管理,分好的组即为线程组

线程对象的常见方法

  • getId 用来得到线程ID

  • getName和setName 用来得到或者设置线程名称

  • getPriority和setPriority 用来获取和设置线程优先级

  • setDaemon和isDaemon 用来设置线程是否成为守护线程和判断线程是否是守护线程。守护线程是当非守护线程结束后会自动结束

    线程

    线程是比进程更小的执行单位

    线程——轻量级的进程LWP,系统负担小,主要是CPU的分配

    线程不能独立存在,必须存在于进程中

    每个线程也有它自身的产生、存在和消亡的过程,也是一个动态的概念

    一个线程有它自己的入口和出口,以及一个顺序执行的序列

    多线程好处: 解决了多部分同时运行的问题

    多线程弊端: 线程太多会有效率降低的问题,一般计算密集型应用不适合多线程

       使用线程的原因 

  • 减轻编写交互频繁、涉及面多的程序的困难

  • 程序的吞吐量会得到改善

  • 由多个处理器的系统,可以并发运行不同的线程。(否则,任何时刻只有一个线程在运行)

注意事项

使用多线程并不能增加CPU的处理能力,也不一定会提升CPU的吞吐量

基于Internet的应用有必要使用多线程

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值