美文网首页
线程的创建和使用⚠️

线程的创建和使用⚠️

作者: DOB_8199 | 来源:发表于2021-01-28 20:52 被阅读0次

线程的创建和使用 ⚠️

* 多线程的创建,方式一:继承于Thread类

* 1. 创建一个继承于Thread类的子类

* 2. 重写Thread类的run() --> 将此线程执行的操作声明在run()方法中

* 3. 创建Thread类的子类的对象

* 4. 通过此对象调用start()

start()方法的作用:1. 启动当前线程 2. 调用当前线程的run()

⭕️ 我们不能通过调用run()方法直接启动线程!!

⭕️ 不可以还让已经start()的线程去执行,会报IllegalThreadStateException异常。若想要再   启动一个线程做同样的功能,需要重新创建一个线程的对象去start()。

Thread类有关方法1 Thread类有关方法2

给线程命名:

命名线程 线程的调度

说明:高优先级的线程要抢占低优先级线程cpu的执行权。但是只是从概率上讲,高优先级的线程高概率的情况下被执行。并不意味着只有当高优先级的线程执行完以后,低优先级的线程才执行。

创建多线程的方式二:实现Runnable接口

* 1. 创建一个实现了Runnable接口的类

* 2. 实现类去实现Runnable中的抽象方法:run()

* 3. 创建实现类的对象

* 4. 将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象

* 5. 通过Thread类的对象调用start()

比较创建线程的两种方式。

开发中:优先选择:实现Runnable接口的方式

原因:1. 实现的方式没有类的单继承性的局限性

           2. 实现的方式更适合来处理多个线程有共享数据的情况。

联系:public class Thread implements Runnable

相同点:两种方式都需要重写run(),将线程要执行的逻辑声明在run()中。

线程分类

释放锁的操作

释放所的操作

不会释放锁的操作

不会释放锁的操作

相关文章

  • 线程的创建和控制

    线程的创建和控制 进程和线程的关系:进程提供资源,线程使用资源完成工作 创建线程函数 线程的控制 更多的API 创...

  • 3、并发编程-Java线程

    并发编程 Java线程 创建和运行线程 查看线程 线程API 线程状态 创建和运行线程 方法一,直接使用new T...

  • 面试系列之java多线程

    1.线程池的优点?a. 线程是稀缺资源,线程的创建和消费是很耗资源的,使用线程池可以减少线程创建和销毁的次数,使得...

  • 高并发 threadlocal+countDownLatch+线

    线程池的创建和使用 threadlocal的使用 countDownLatch的使用 高并发场景的使用

  • 多线程 ---- NSThread和线程安全

    创建和启动线程 一个NSThread对象就代表一条线程 主线程相关方法 其他方法 获得当前线程 线程的名字 其他创...

  • 【多线程】NSThread

    1️⃣创建和启动线程简单说明 一个NSThread对象就代表一条线程 创建、启动线程 主线程相关用法 其他用法 创...

  • ThreadPoolExecutor源码解析

    线程池 ThreadPoolExecutor 通过使用线程池减少创建和销毁线程开销,线程池命令执行器,将提交的命令...

  • Java线程池

    Java并发编程:线程池的使用 1.使用线程池的优点?1.降低资源消耗:重复利用线程池中的线程节省线程创建和销毁带...

  • java线程池基础与原理

    为什么使用线程池 在没有线程池的场景,我们使用多线程时: 线程池的创建和销毁需要消耗额外的资源。线程的创建需要开辟...

  • JAVA架构师必须掌握的线程池原理详解一

    线程池的优点 1、线程是稀缺资源,使用线程池可以减少创建和销毁线程的次数,每个工作线程都可以重复使用。 2、可以根...

网友评论

      本文标题:线程的创建和使用⚠️

      本文链接:https://www.haomeiwen.com/subject/dqoizktx.html