
线程
lovezhaohaimig
这个作者很懒,什么都没留下…
展开
-
手写一个线程死锁
死锁的原因:a.系统资源不足b.进程运行推进的c.资源分配不 当死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相 等待的现象若无外力干涉那它们都将无法推进下去。代码如下:package cn.link.cn;public class DealLockThread implements Runnable { private Strin...原创 2019-08-05 22:06:43 · 457 阅读 · 0 评论 -
多线程基础集合
1. interrupt(), interrupted(), isInterrupted()方法区别 interrupt:调用interrupt()方法来停止线程,但是interrupt()方法的使用效果并不像for+break语句那样,马上就停止循环。调用interrupt()方法仅仅是在当前线程中打了一个停止的标记,并不是真的停止线程。interrupted:是一个静态方法,测试试当前...原创 2019-01-25 11:37:55 · 273 阅读 · 0 评论 -
多线程锁
乐观锁 VS 悲观锁乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度,在Java和数据库中都有此概念对应的实际应用。1.乐观锁顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。乐观锁适用于多读的应用类型,乐观锁在Java中是通过使用无锁编程来实现,最常采用的是CA...原创 2019-01-15 11:31:11 · 169 阅读 · 0 评论 -
Callable多个线程求1到100的结果
package cn.day8;import java.util.concurrent.Callable;public class Task implements Callable<Integer> { int startNumber = 0; int endNumber = 0; public Task(){ } public Task(int startN...原创 2019-01-11 18:03:49 · 496 阅读 · 0 评论 -
Java并发ReadWriteLock读写锁的与Synchronized
说到Java并发编程,很多开发第一个想到同时也是经常常用的肯定是Synchronized,但是小编这里提出一个问题,Synchronized存在明显的一个性能问题就是读与读之间互斥,简言之就是,我们编程想要实现的最好效果是,可以做到读和读互不影响,读和写互斥,写和写互斥,提高读写的效率,如何实现呢?Java并发包中ReadWriteLock是一个接口,主要有两个方法,如下:publi...转载 2018-11-05 18:34:24 · 754 阅读 · 0 评论 -
并发基础篇(一): 线程介绍
二、线程的简介线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(有一个程序计数器,它的作用是存放下一条指令所在单元的地址的地方),寄存器集合(寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计...原创 2018-06-02 22:36:55 · 243 阅读 · 0 评论 -
ExecutorService深入理解
ExecutorService是Executor直接的扩展接口,也是最常用的线程池接口,我们通常见到的线程池定时任务线程池都是它的实现类。ExecutorService是Java中对线程池定义的一个接口,它java.util.concurrent包中,在这个接口中定义了和后台任务执行相关的方法:Java API对ExecutorService接口的实现有两个,所以这两个即是J...原创 2018-05-17 23:28:16 · 998 阅读 · 0 评论