java 并发
xx_star1204
学习学习学习
展开
-
线程 中断 Thread.interrupt()使用
Thread 类中的中断方法:public boolean isInterrupt() 测试线程是否中断。public viod interrupt() 中断线程。package ThreadInterrupt;public class ThreadInterruptDemo implements Runnable{ public static void main(Stri原创 2017-05-12 21:19:25 · 277 阅读 · 0 评论 -
文章标题
public class Test { public static void main(String[] args) { Integer a = 3; Integer b=a; System.out.println(a==b); }原创 2017-09-10 12:00:14 · 139 阅读 · 0 评论 -
java 类implements多个接口含有相同名字函数
java 类不能多继承 class A extends B,C{}是不允许的但能实现多个接口 class A implements B,C{}是可以的,而多个接口中如果出现相同名字函数:interface in1{ public void fun1(); public void fun2();}interface in2{ public void fun1();原创 2017-05-26 20:42:44 · 7826 阅读 · 2 评论 -
Java中普通代码块,构造代码块,静态代码块区别及代码示例
转载自http://www.cnblogs.com/sophine/p/3531282.html执行顺序:(优先级从高到低。)静态代码块>mian方法>构造代码块>构造方法。其中静态代码块只执行一次。构造代码块在每次创建对象是都会执行。//静态代码块:在java中使用static关键字声明的代码块。静态块用于初始化类,为类的属性初始化。每个静态代码块只会执行一次。由于JVM在加载类时会执行静态代码块转载 2017-05-26 20:30:50 · 343 阅读 · 0 评论 -
java 的wait(),sleep()及锁池与等待池
在Java中,每个对象都有两个池,锁(monitor)池和等待池wait() ,notifyAll(),notify() 三个方法都是Object类中的方法.锁池:假设线程A已经拥有了某个对象(注意:不是类)的锁,而其它的线程想要调用这个对象的某个synchronized方法(或者synchronized块),由于这些线程在进入对象的synchronized方法之前必须先获得该对象的锁的拥有权,转载 2017-06-01 11:40:57 · 1253 阅读 · 0 评论 -
eclipse Ctrl +左键 查看源代码 not found source
Ctrl +左键出现如下:直接点击 change Attached Source 点击external file 在jdk安装目录下找到src.zip文件,然后点击ok即可。原创 2017-05-30 13:25:12 · 766 阅读 · 0 评论 -
java 单链表反转详解
java 实现单链表反转:class node{ int data; node next; public node(int data){ this.data=data; this.next=null; }}public class lianbiao { public static void main(String[] args原创 2017-05-28 15:44:00 · 621 阅读 · 0 评论 -
Runnable匿名内部类实现线程
简单学习使用Runnable匿名内部类实现线程的方法。1.先看下直接使用Runnable实现线程的例子:import java.util.Random;class ThreadA implements Runnable { public void run() { System.out.println("num = " + new Random().nextInt(20)原创 2017-05-25 20:54:04 · 812 阅读 · 0 评论 -
ReentrantReadWriteLock的简单使用
读写锁的机制概括如下:1.读-读不互斥。多个线程去进行read操作是可以并发的。 2.读-写互斥。当前有write的线程,那么read线程会被堵塞。反之亦然。 3.写-写互斥。write线程都是互斥的。以下是一个ReentrantReadWriteLock的简单使用:import java.util.concurrent.locks.ReentrantReadWriteLock;public原创 2017-05-25 19:45:15 · 203 阅读 · 0 评论 -
synchronized 线程同步的三种方法
通过一个简单的例子来了解synchronized:使用五个线程,使共享变量 num 加1,最后得到结果 num = 5.类count 实现add函数:public static class count{ public int num=0; public void add() { try { Thread.sleep(10);原创 2017-05-24 14:04:46 · 340 阅读 · 0 评论 -
关于synchronized 特别需要强调的一个点!!
当一个线程访问object的一个synchronized(this)同步代码块时,其他线程对object中所有其它synchronized(this)同步代码块的访问将被阻塞。当一个线程访问object的一个synchronized(this)同步代码块时,其他线程对object中所有其它synchronized(this)同步代码块的访问将被阻塞。当一个线程访问object的一个原创 2017-05-23 21:15:13 · 310 阅读 · 0 评论 -
lock 的易错点
如果按下面的方式写lock,你会发现lock并没有起到作用。 public static class count{ // private int i ; public void get(){ final ReentrantLock lock = new ReentrantLock(); try{ lock.lock();原创 2017-05-23 21:50:09 · 272 阅读 · 0 评论 -
Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
转载自http://www.cnblogs.com/dolphin0520/p/3920397.htmlJava并发编程:CountDownLatch、CyclicBarrier和Semaphore 在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。转载 2017-09-28 20:50:33 · 140 阅读 · 0 评论