一、进程与线程 1、进程 进程是操作系统结构的基础;是一次程序的执行;是一个程序及其数据在处理机上顺序执行时所发生的活动。操作系统中,几乎所有运行中的任务对应一条进程(Process)。一个程序进入内存运行,即变成一个进程。进程是处于运行过程中的程序,并且具有一定独立功能。描述进程的有一句话非常经典 ...
分类:
编程语言 时间:
2017-11-22 17:37:34
阅读次数:
177
正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。在Java并发中,countdownlatch的概念是一个常见的面试题,所以一定要确保你很好的理解了它。在这篇文章中,我将会涉及到在Java并发编 程中跟C ...
分类:
编程语言 时间:
2017-11-10 10:46:08
阅读次数:
197
1.对象的加锁及其操作 程序中单独的并发线程对同一对象进行操作的代码段,成为临界区。java语言中的临界区可以是一个语句块 或者方法,使用关键字synchronized进行标识。 对象锁:java平台把由synchronized语句指定的对象 设置为对象锁或者监视器(monitor),对象锁是一种独 ...
分类:
编程语言 时间:
2017-11-07 00:05:44
阅读次数:
201
问题描述 使用synchronized在一个非final对象上加了锁之后,在synchronized体(同步代码块)中,将该对象的值(状态)改变之后,会导致线程不安全,即其他线程会拿到改变之后对象的锁,从而进入同步代码块。 场景设计 场景说明 两个线程a1,a2,访问同一个AAA对象aaa(临界资源 ...
分类:
编程语言 时间:
2017-11-01 18:51:04
阅读次数:
167
线程如何创建 创建线程有三种方式:继承Thread类;无返回值的Runnable;有返回值的Callable 示例如下 执行结果 线程相关的基础方法 wait:获取锁对象monitor的线程执行wait方法,将会释放对monitor的控制权,其他线程可以获取到锁对象的monitor,执行notify ...
分类:
编程语言 时间:
2017-11-01 13:28:29
阅读次数:
235
1 package com.java.concurrent; 2 3 import java.util.concurrent.locks.Condition; 4 import java.util.concurrent.locks.Lock; 5 import java.util.concurren... ...
分类:
其他好文 时间:
2017-10-17 15:20:28
阅读次数:
146
林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka 写在前面的话:此文只能说是java多线程的一个入门,其实Java里头线程完全可以写一本书了,但是如果最基本的你都学掌握好,又怎么能更上一个台阶呢?如果你觉得此文很简单,那推荐你看看Java并发包 ...
分类:
编程语言 时间:
2017-10-16 13:43:33
阅读次数:
230
1:线程的概念 进程(任务):一个正在运行的程序 进程的调度:CPU来决定什么时候该运行哪个进程 (时间片轮流法) 1.2 线程和进程的关系 a:一个进程可以创建多个线程 b:线程必须依赖于进程而存在 c:多个线程共享进程的空间 d:进程和线程得到CPU的机会是均等的‘ 1.3 为什么要搞多线程 我 ...
分类:
编程语言 时间:
2017-10-07 20:43:37
阅读次数:
148
锁lock从“123” 改为“456” ThreadA和ThreadB public class ThreadA extends Thread { private MyService myService; public ThreadA(MyService myService) { this.mySe ...
分类:
编程语言 时间:
2017-09-26 14:57:43
阅读次数:
207
1、自旋锁 2、自旋锁的其他种类 3、阻塞锁 4、可重入锁 5、读写锁 6、互斥锁 7、悲观锁 8、乐观锁 9、公平锁 10、非公平锁 11、偏向锁 12、对象锁 13、线程锁 14、锁粗化 15、轻量级锁 16、锁消除 17、锁膨胀 18、信号量 ...
分类:
编程语言 时间:
2017-09-24 15:29:45
阅读次数:
160