Java 语法学习笔记(六) --- 线程

2019-01-19  本文已影响0人  帅帅的小哥哥好

[TOC]

参考教程

C语言中文网 --- Java多线程

(该教程中有许多例子本人并不赞同)

学堂在线 --- JAVA程序设计进阶

Java多线程的实现方式

  1. 继承 Thread 类

    • 使用继承 Thread 类的方式实现多线程,最大的局限就是不支持多继承
    • 继承类必须重写 run() 方法,线程实现的业务代码需要放到 run() 方法中
    • 线程必须调用 start() 方法才能执行
  2. 实现 Runnable 接口

    • 创建一个 Runnable 对象
    • 使用参数带 Runnable 对象的构造方法创建 Thread 实例
    • 调用 start() 启动线程

Java多线程之间访问实例变量

创建 Thread 对象时,使用同一 Runable 对象去实例化 Thread 对象,则各 Thread 对象可以共享该 Runable 对象的实例变量

synchronized 可以对该实例变量进行加锁,从而对临界区实现同步

同步互斥

Java Thread 对象方法

Java停止(终止)线程

停止一个线程意味着在线程处理完任务之前停掉正在做的操作,也就是放弃当前的操作。

Java 停止线程的方法

  1. 使用退出标识(this.isInterrupted()或者 return),使线程正常退出
  2. 使用 interrupt() 方法中断线程
  3. 使用 stop() 方法强行终止线程,该方法已被废弃;该方法可能产生不可预料的结果

Java 线程的优先级和执行顺序

优先级概述

在 Java 语言中,线程的优先级范围是 1~10,值必须在 1~10,否则会出现异常;优先级的默认值为 5。优先级较高的线程会被优先执行,当执行完毕,才会轮到优先级较低的线程执行。如果优先级相同,那么就采用轮流执行的方式。

总结 --- 思维导图

线程.png
上一篇 下一篇

猜你喜欢

热点阅读