
Java多线程
文章平均质量分 63
duanduan_l
这个作者很懒,什么都没留下…
展开
-
进程与线程
基本上所有的操作系统(OS)都支持执行多个任务,通常来说,一个任务就是一个程序,一个程序就是一个进程,在一个进程运行时,内部可能包含多个内部执行流,每个顺序执行流就是一个线程。进程进程指正在运行中的程序,并且具有一定的独立性,是OS资源分配的单位,当程序进入内存运行时,即为进程。特点:独立性:进程是系统中独立存在的实体,拥有独立的资源,有独立的地址空间; 动态性:进程是...原创 2018-12-26 17:16:05 · 279 阅读 · 1 评论 -
多线程之volatile与synchronized关键字
本文首先介绍volatile关键字的实现原理,其次介绍synchronized关键字的实现原理,最后介绍二者的区别。 一、volatile关键字 这是一个轻量级线程同步关键字,在使用时,主要是用于修饰变量,在分析volatile关键字时,首先介绍相关的知识:高速缓存,缓存不一致问题以及并发的三种概念。1、高速缓存 计算机在执行每条指令时,都是在CPU中执行,而在执行过...原创 2019-01-18 18:08:16 · 368 阅读 · 0 评论 -
设计模式之单例模式
本文主要介绍单例模式的定义,几种写法及各种写法优缺点。单例模式定义:单例模式,顾名思义就是:一个类只有一个实例对象,并为其他类提供全局访问点。写法实现饿汉模式/*** 饿汉模式(创建类实例时就去创建对象)* 线程安全,耗费资源*/class Singleton{ private static Singleton instance = new Singleton...原创 2019-01-21 16:17:33 · 108 阅读 · 0 评论 -
线程的创建以及线程状态转换
本文主要介绍:线程创建的三种方式,线程间的方法,线程状态以及如何转换,最后再通过简单的习题理解多线程的使用。 创建线程 1、继承Thread类创建线程类步骤:(1)创建Thread类的子类,并重写run方法,run方法的方法体代表该线程需要完成的任务; (2)创建Thread类的实例,即创建线程对象; (3)调用线程对象的start()...原创 2019-01-16 16:02:23 · 365 阅读 · 0 评论 -
多线程习题总结
1、保证线程安全:HashTable,synchronized;注意:单例模式有多种实现方式,有的实现方式是线程不安全的;volatile关键字不能保证线程安全,只能保证内存可见性和有序性,不能保证原子性。2、HashMap,HashTable,ConcurrentHashMap的异同点同:(1)继承结构而言,三者都是继承Map接口的;(2)存储的内容都是以键值对的形式存储;异...原创 2019-02-25 14:31:13 · 421 阅读 · 0 评论 -
生产者消费者模型的三种实现方式
某个线程或模块的代码负责生产数据(工厂),而生产出来的数据却不得不交给另一模块(消费者)来对其进行处理,在这之间使用了队列、栈等类似超市的东西来存储数据(超市),这就抽象除了我们的生产者/消费者模型。其中,产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者;生产者和消费者之间的中介就叫做缓冲区。为什么要使用生产者-消费者模型生产者消费者模型通过一个容器解决生产者和消费...原创 2019-09-02 20:01:43 · 1571 阅读 · 0 评论