多线程
angel泪
这个作者很懒,什么都没留下…
展开
-
多线程死锁
多线程死锁发生的原因死锁怎么发生的呢? 死锁大致的原因就是锁A中套了个锁B,锁B中又套了个锁A,两个锁都在那边等着对方释放锁,所以造成了死锁的原因。 下面例子就是A中有B,B中有Apackage com.lilei;public class TestDeadLock { public static void main(String[] args) { De原创 2016-07-17 10:24:04 · 236 阅读 · 0 评论 -
线程池介绍
线程池主要干什么的呢?线程池主要为了节省系统的资源的,为什么这么说呢,因为当有线程任务的时候,就从线程池中拿一个,用完了在放回去,这样就避免了重复创建线程从而带来系统性能的开销。线程池的基本思想线程池的基本思想就是一种对象池的思想,说白了就是开辟一块内存空间,然后new适当的线程对象,然后将对象放在池子里面,用的时候从池子里面拿,用完了在还回去。如何创建一个线程池?线程池分两种:一种是固定尺寸的原创 2016-07-17 15:45:41 · 304 阅读 · 0 评论 -
线程特征-锁
锁?一提到线程里面锁,可能很多人想到synchronized这个关键字,可能想到生产者和消费者的故事,哲学家进餐的故事等等一系列的事情,但是其实线程中还有一个锁就是lock这个接口,其中jdk是这么解释的:Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作。此实现允许更灵活的结构,可以具有差别很大的属性,可以支持多个相关的 Condition 对象。 锁是控原创 2016-07-17 17:20:58 · 282 阅读 · 0 评论 -
多线程基础篇(一)
操作系统中线程和进程的概念进程是什么呢? 进程就是一个内存中运行的应用程序,每个进程都拥有自己的一个内存空间,一个进程中可以有多个线程,比如你在winds的任务管理器里面看到的就是一个个进程。 什么是线程呢? 线程是进程里面的一个执行流程,一个进程可以运行多个线程,因为一个进程中可以包含多个线程,比如java.exe进程中可以运行很多线程,比如tomcat,jdk等等,都在说多原创 2016-07-08 20:34:54 · 541 阅读 · 2 评论 -
自定义一个ThreadLocal类和ThreadLocal类的使用案例
1.自定义ThreadLocal类package com.lilei.test.threadlocaltest;import java.util.Collections;import java.util.HashMap;import java.util.Map;/** * 自定义实现一个ThreadLocal类 * Created by Administrator on 2017/10/22原创 2017-10-22 13:43:34 · 1517 阅读 · 0 评论 -
AQS详解
1.AQS是什么?AQS是AbstractQueuedSynchronizer的简称,它是一个java的底层同步工具类,用一个int类型的变量表示同步状态,并且提供了一系列的CAS操作来管理这个同步状态2.同步队列 同步队列是AQS中 很重要的一部分,它是一个双端队列,遵循FIFO原则,主要的作用是用来存放在锁上阻塞的线程,当一个线程尝试获取锁的时候,如果已经被占用的话,那么当前...原创 2019-02-11 15:29:21 · 220 阅读 · 0 评论