
Java并发编程
文章平均质量分 67
SCU阳光
在校学生
展开
-
什么是进程?什么是线程?进程与线程的区别?
目录什么是进程?什么是线程?为什么要有线程?进程与线程的区别?进程与线程的选择取决条件?什么是进程?什么是线程?进程:进程是并发执行程序在执行过程中资源分配和管理的基本单位(资源分配的最小单位)。进程可以理解为一个应用程序的执行过程,应用程序一旦执行,就是一个进程。每个进程都有自己独立的地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据...原创 2018-07-20 10:03:57 · 13006 阅读 · 0 评论 -
线程的生命周期及五种基本状态
关于Java中线程的生命周期,首先看一下下面这张较为经典的图: 上图中基本上囊括了Java中多线程各重要知识点。掌握了上图中的各知识点,Java中的多线程也就基本上掌握了。主要包括:Java线程具有五中基本状态新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread();就绪状态(Runnable):当调用线程对象的sta...原创 2018-07-20 10:17:59 · 1326 阅读 · 0 评论 -
Thread类中的方法:join()、sleep()、yield()之间的区别
目录1. Thread类中的常用方法简介2. Join()方法3. Sleep() 方法:不会释放锁4. Yield()方法:线程让步 不会释放锁1. Thread类中的常用方法简介首先,先看一下Thread类中的常见方法:最主要的是区分其中join()、sleep()、yield()的用法区别 2. Join()方法Thread的非静态方法join(...原创 2018-07-20 11:47:28 · 24272 阅读 · 5 评论 -
深入理解Java线程池
原文出处: 海 子 http://www.importnew.com/19011.html在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完...转载 2018-07-26 08:46:25 · 209 阅读 · 0 评论 -
Java中如何安全终止一个线程?
在最初的JDK版本中,Thread类提供了一个线程终止的方法stop()方法,但是现在在JDK源码中发现,stop()方法已经被废弃。主要原因是:stop()方法太过暴力。强制终止一个正在执行的线程。这样的话会造成一些数据不一致的问题。 现在常用的是线程中断的方法:严格的讲,线程中断不会使线程立即退出,而是给线程发送一个通知,告诉目标线程,有人需要你退出啦!至于目标线程接到通知后如果处理,...原创 2018-07-20 16:37:16 · 12430 阅读 · 4 评论 -
并发工具类:CountDownLatch(倒计时器)
CountDownLatch含义CountDownLatch: 从字面以上的意思是“门闩到计数”。也就是让一个线程或者多个线程等待其他线程结束后再继续自己的操作,类似加强版join(). 通过一个简单的应用场景来说明一下上面一句话的意思: 比如火箭发射,为了保证火箭发射万无一失,必须在火箭发射之间进行各项的检查初始化工作。假设在火箭发射之间进行100项的初始化检查工作(此...原创 2018-07-22 11:52:34 · 538 阅读 · 0 评论 -
Java并发编程思维导图
并发编程JDK-API线程安全 概念 性能与可伸缩性 解决死锁 如何让多线程下的类安全 类的线程安全性定义 实战:实现一个安全的单例模式 JAVA的详解 volatile关键字 使用场景 指令重排序 内存语义 原子操作的实现原理 CAS机制 CAS的ABA问题 锁 synchro...原创 2018-07-22 14:27:03 · 1782 阅读 · 1 评论