Fork me on GitHub
上一页 1 ··· 8 9 10 11 12 13 14 下一页
摘要: 什么是线程池? 线程池就是以一个或多个线程循环执行多个应用逻辑的线程集合. 为什么用线程池? 创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率 例如: 记创建线程消耗时间T1,执行任务消耗时间T2,销毁线程消耗时间T3 如果T1+T3>T2,那么是不是说开启一个线程来 阅读全文
posted @ 2018-09-21 18:02 JackpotHan 阅读(336) 评论(0) 推荐(0)
摘要: 在介绍Java的阻塞队列之前,我们简单介绍一下队列。 队列 队列是一种数据结构.它有两个基本操作:在队列尾部加人一个元素,和从队列头部移除一个元素就是说,队列以一种先进先出的方式管理数据,如果你试图向一个已经满了的阻塞队列中添加一个元素或者是从一个空的阻塞队列中移除一个元索,将导致线程阻塞.在多线程 阅读全文
posted @ 2018-09-21 18:01 JackpotHan 阅读(256) 评论(0) 推荐(0)
摘要: 上一章我们已经简要的介绍了Java中的一些锁,本章我们就详细的来说说这些锁。 synchronized锁 synchronized锁是什么? synchronized是Java的一个关键字,它能够将代码块(方法)锁起来 它使用起来是非常简单的,只要在代码块(方法)添加关键字synchronized, 阅读全文
posted @ 2018-09-21 17:59 JackpotHan 阅读(1372) 评论(0) 推荐(0)
摘要: 在学习或者使用Java的过程中进程会遇到各种各样的锁的概念:公平锁、非公平锁、自旋锁、可重入锁、偏向锁、轻量级锁、重量级锁、读写锁、互斥锁、死锁、活锁等,本文将简概的介绍一下各种锁。 公平锁和非公平锁 公平锁是指多个线程在等待同一个锁时,必须按照申请锁的先后顺序来一次获得锁。 公平锁的好处是等待锁的 阅读全文
posted @ 2018-09-19 14:29 JackpotHan 阅读(277) 评论(0) 推荐(1)
摘要: 上一章已经提到“如果一个进程被多次回滚,迟迟不能占用必需的系统资源,可能会导致进程饥饿”,本文我们详细的介绍一下“饥饿”和“公平”。 Java中导致饥饿的原因 在Java中,下面三个常见的原因会导致线程饥饿: 高优先级线程吞噬所有的低优先级线程的CPU时间 你能为每个线程设置独自的线程优先级,优先级 阅读全文
posted @ 2018-09-19 11:41 JackpotHan 阅读(983) 评论(0) 推荐(1)
摘要: 简介 当两个以上的运算单元,双方都在等待对方停止运行,以获取系统资源,但是没有一方提前退出时,就称为死锁。在多任务操作系统中,操作系统为了协调不同进程,能否获取系统资源时,为了让系统运作,必须要解决这个问题。 例如,如果线程1锁住了A,然后尝试对B进行加锁,同时线程2已经锁住了B,接着尝试对A进行加 阅读全文
posted @ 2018-09-19 10:32 JackpotHan 阅读(369) 评论(0) 推荐(0)
摘要: 提到ThreadLocal,有些Android或者Java程序员可能有所陌生,可能会提出种种问题,它是做什么的,是不是和线程有关,怎么使用呢?等等问题,本文将总结一下我对ThreadLocal的理解和认识,希望让大家理解ThreadLocal更加透彻一些。 ThreadLocal是什么 Thread 阅读全文
posted @ 2018-09-18 14:38 JackpotHan 阅读(295) 评论(0) 推荐(0)
摘要: 上一节已经讲到,使用Synchronzied代码块可以解决共享对象的竞争问题,其实还有其他的方法也可以避免资源竞争问题,我统称他们为Java同步块。Java 同步块(synchronized block)用来标记方法或者代码块是同步的,可以避免资源竞争,避免死锁。。 Java 同步关键字(synch 阅读全文
posted @ 2018-09-17 22:08 JackpotHan 阅读(493) 评论(0) 推荐(0)
摘要: 前面我们已经介绍了:当对象和变量存储到计算机的各个内存区域时,必然会遇到的两个问题及解决方法 共享对象的可见性-- 解决方法:使用java volatile关键字 共享对象的竞争现象 -- 解决方法:使用java synchronized代码块 那么,volatile和 synchronized有什 阅读全文
posted @ 2018-09-17 21:49 JackpotHan 阅读(293) 评论(0) 推荐(1)
摘要: Java内存模型 前面讲到了Java线程之间的通信采用的是共享内存模型,这里提到的共享内存模型指的就是Java内存模型(简称JMM),JMM决定一个线程对共享变量的写入何时对另一个线程可见。从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主内存(main memor 阅读全文
posted @ 2018-09-17 17:56 JackpotHan 阅读(315) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 14 下一页