前言 看多线程时,发现一些匿名内部类的东西,然后就来总结一下。 1.继承Thread类 在类上实现匿名内部类 如果不用匿名内部类实现,则 2.实现Runnable接口 在接口上实现匿名内部类 如果不用匿名内部类实现,则 3.获取有返回值的线程 使用Callable接口和FutureTask ...
分类:
编程语言 时间:
2018-12-23 23:48:39
阅读次数:
243
Java线程的状态有6种 1、 初始(NEW):新创建了一个线程对象,但还没有调用start()方法。 2、 运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。(什么是就绪) 线程对象创建后,其他线程(比如main线程)调用了该对象的s ...
分类:
编程语言 时间:
2018-12-23 00:15:21
阅读次数:
193
多线程作为Java中很重要的一个知识点,在此还是有必要总结一下的。 一.线程的生命周期及五种基本状态 关于Java中线程的生命周期,首先看一下下面这张较为经典的图: 上图中基本上囊括了Java中多线程各重要知识点。掌握了上图中的各知识点,Java中的多线程也就基本上掌握了。主要包括: Java线程具 ...
分类:
编程语言 时间:
2018-12-20 18:57:47
阅读次数:
160
2018面向对象程序设计(Java)第17周学习指导及要求(2018.12.20-2018.12.23) 学习目标 (1) 掌握线程同步的概念及实现技术; (2) Java线程综合编程练习 学习资源 1.教材第14章 2.第14章教学课件 3. corejava.zip 4. 实验十七任务书 学习任 ...
分类:
编程语言 时间:
2018-12-20 15:46:20
阅读次数:
217
线程池应用达到的目的 1、降低资源消耗;可以重复利用已创建的线程从而降低线程创建和销毁所带来的消耗。 2、提高响应速度;当任务到达时,不需要等线程创建就可以立即执行。 3、提高线程的可管理性;使用线程池统一分配、调优和监控。 线程池实现原理 1、 最核心的ThreadPoolExecutor类,Th ...
分类:
编程语言 时间:
2018-12-18 10:54:08
阅读次数:
221
Java内存模型虽说是一个老生常谈的问题 ,也是大厂面试中绕不过的,甚至初级面试也会问到。但是真正要理解起来,还是相当困难,主要这个东西看不见,摸不着。网上已经有大量的博客,但是人家的终究是人家的,自己也要好好的去理解,去消化。今天我也来班门弄斧,说下Java内存模型。 说到Java内存模型,不得不 ...
分类:
编程语言 时间:
2018-12-17 02:18:14
阅读次数:
202
Java线程:概念与原理 一、操作系统中线程和进程的概念 现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。 线程是指进程中的一个 ...
分类:
编程语言 时间:
2018-12-13 21:16:52
阅读次数:
140
内存模型 线程间通信 Java线程间的通信方式一般有共享内存及消息两种方式,其中消息通信一般为传统的wait()和notify()方法来实现线程间的显式通信。而另外一种则是采用共享内存来实现隐式通信。 内存模型概述 在Java内存模型(JMM)中,大致如下图所示: ?? (1)、线程A将本地变更的副 ...
分类:
编程语言 时间:
2018-12-13 13:17:21
阅读次数:
170
一:newCacheThtreadPool,用于短时的线程,如果任务多余工作的线程,就会创建,空闲就会销毁。内部使用syschrounsQueue队列。 newFixThreadPool 用的是无界队列,newSingleThreadExcutor也是无界队列。保证线程的顺序。newSingleTh ...
分类:
编程语言 时间:
2018-12-12 14:55:59
阅读次数:
571
上一篇文章【「阿里面试系列」搞懂并发编程,轻松应对80%的面试场景】我们了解了进程和线程的发展历史、线程的生命周期、线程的优势和使用场景,这一篇,我们从Java层面更进一步了解线程的使用。 ...
分类:
编程语言 时间:
2018-12-11 16:01:22
阅读次数:
219