
并发
文章平均质量分 92
Gonelin
不要为了敲代码而敲代码
展开
-
多线程的操作原则
多线程的操作原则1. 前言2. 多线程 AVO 原则3. 单 CPU 时代的多线程4. 多 CPU 时代的多线程5. 为什么要进行多线程并发6. 线程安全问题7. 共享变量内存可见性问题8.小结1. 前言了解多线程 AVO 原则,是学习本节内容的基础;了解单 CPU 时代的多线程,能够更好地理解多 CPU 诞生的原因;了解多 CPU 时代的多线程,是目前我们接触和使用到的开发场景;了解为什么要进行多线程并发,使我们学习本套课程的前提,也是多线程并发的意义所在;了解线程安全问题,这是本节课程的重转载 2020-12-24 21:00:29 · 431 阅读 · 0 评论 -
ThreadLocal 的使用
ThreadLocal 的使用1. 前言本文内容主要是对 ThreadLocal 进行深入的讲解,具体内容点如下:了解 ThreadLocal 的诞生,以及总体概括,是学习本节知识的基础;了解 ThreadLocal 的作用,从整体层面理解 ThreadLocal 的程序作用,为本节的次重点;掌握 ThreadLocal set 方法的使用,为本节重点内容;掌握 ThreadLocal get 方法的使用,为本节重点内容;掌握 ThreadLocal remove 方法的使用,为本节重点内容转载 2020-12-22 16:21:04 · 383 阅读 · 0 评论 -
守护线程与用户线程
守护线程与用户线程1. 前言本节内容主要是对守护线程与用户线程进行深入的讲解,具体内容点如下:了解守护线程与用户线程的定义及区别,使我们学习本节内容的基础知识点;了解守护线程的特点,是我们掌握守护线程的第一步;掌握守护线程的创建,是本节内容的重点;通过守护线程与 JVM 的退出实验,更加深入的理解守护线程的地位以及作用,为本节内容次重点;了解守护线程的作用及使用场景,为后续开发过程中提供守护线程创建的知识基础。2. 守护线程与用户线程的定义及区别Java 中的线程分为两类,分别为 d转载 2020-12-22 14:41:17 · 1194 阅读 · 0 评论 -
线程上下文切换与死锁
线程上下文切换与死锁1. 前言本节内容主要是对死锁进行深入的讲解,具体内容点如下:理解线程的上下文切换,这是本节的辅助基础内容,从概念层面进行理解即可;了解什么是线程死锁,在并发编程中,线程死锁是一个致命的错误,死锁的概念是本节的重点之一;了解线程死锁的必备 4 要素,这是避免死锁的前提,了解死锁的必备要素,才能找到避免死锁的方式;掌握死锁的实现,通过代码实例,进行死锁的实现,深入体会什么是死锁,这是本节的重难点之一;掌握如何避免线程死锁,我们能够实现死锁,也可以避免死锁,这是本节内容的核心转载 2020-12-22 13:52:32 · 320 阅读 · 0 评论 -
多线程 yield 方法
多线程 yield 方法1. 前言本节对 yield 方法进行深入的剖析,主要内容点如下:首先要了解什么是 CPU 执行权,因为 yield 方法与 CPU 执行权息息相关;了解 yield 方法的作用,要明确 yield 方法的使用所带来的运行效果;了解什么是 native 方法,由于 yield 方法是 native 方法的调用,在学习 yield 方法之前,要了解什么是 native 方法;掌握 yield 方法如何使用,这是本节知识点的重中之重,一定要着重学习;了解 yield 方法转载 2020-12-22 11:22:32 · 1581 阅读 · 0 评论 -
多线程 join 方法
多线程 join 方法1.前言本节对 join 方法进行深入的剖析,主要内容点如下:了解 join 方法的作用,初步的理解 join 方法的使用带来的效果是学习本节内容的基础;了解 join 方法异常处理,我们在使用 join 方法是,需要对 join 方法进行有效的异常处理;通过匿名内部类创建Thread 是我们本节代码示例所使用的的方式,对这种方式的掌握在后续工作中非常重要;掌握 join 方法如何使用,这是本节的重点内容,也是本节的核心内容;掌握带参数的 join 方法使用,在后续开发转载 2020-12-22 10:34:19 · 6405 阅读 · 0 评论 -
Java 多线程的创建
1. 前言本节内容重点需要掌握 Java 多线程的三种创建方式,具体内容如下:Java 线程类 Thread 继承结构,这是 JDK Thread 源码的类结构,是了解 Thread 类的第一步;掌握多线程的三种创建方式,这是本节的重点内容。本节所有内容都是围绕改话题进行的讲解;了解多线程不同创建方式的优劣,不同的创建方式有自己的优势和劣势,本节还会推荐同学使用第二种接口实现的创建方式;掌握 Thread 类常用方法,这也是本节的重点内容,其常用方法使我们开发过程中经常涉及到的,必须要熟记于心;转载 2020-12-22 09:10:41 · 130 阅读 · 0 评论 -
Java线程内存模型
1. 前言本节内容是从操作系统的层面谈并发,我们需要掌握如下内容:了解 Java 的内存模型定义,是 Java 并发编程基本原理的基础知识;从概念上了解线程的私有内存空间和主内存,能够从全局上了解线程是如何进行内存数据的存取操作的;了解线程拥有私有空间的意义,私有空间能够为线程提供独有的数据,其他线程不可干扰;在多线程环境下,主内存操作共享变量需要注意的事项需谨记,数据安全问题很重要;Java 线程也是拥有生命周期的,了解它的生命周期,从宏观上了解线程。2.什么是 Java 的内存模型定义转载 2020-12-22 08:33:52 · 415 阅读 · 1 评论 -
描述一下线程从创建到死亡的几种状态都有哪些
线程从创建到死亡的几种状态这个属于比较基础的问题我参考了牛客网上 解释不多余201807251001567 同学的答案1.新建状态(New)当用new操作符创建一个线程时, 例如new Thread®,线程还没有开始运行,此时线程处在新建状态。 当一个线程处于新生状态时,程序还没有开始运行线程中的代码2.就绪状态(Runnable)一个新创建的线程并不自动开始运行,要执行线程,必须调用线程的start()方法。当线程对象调用start()方法即启动了线程,start()方法创建线程运行的系统资源原创 2020-11-20 15:28:00 · 762 阅读 · 0 评论 -
Java并发编程简介
并发编程简介1. 什么是并发编程所谓并发编程是指在一台处理器上“同时”处理多个任务。并发是在在同一实体上的多个事件。多个事件在同一时间间隔发生。并发编程①从程序设计的角度来讲,是希望通过某些机制让计算机可以在一个时间段内,执行多个任务。②从计算机CPU硬件层面来说,是一个或多个物理CPU在多个程序之间多路复用,提高对计算机资源的利用率。③从调度算法角度来说,当任务数量多于CPU的核数时,并发编程能够通过系统的任务调度算法,实现多个任务一起执行。2.并发编程的重要性它是Java语言中最为晦涩的转载 2020-12-21 14:08:57 · 776 阅读 · 0 评论