import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock; /**
*
* @author daxin
*
*/
public class Main1 { static Lock lock = new ReentrantLock(); public static void main(String[] args) throws Exception { // TIMED_WAITING
// Thread.sleep(5000*5000); // ----------------synchronized---------------------
// TIMED_WAITING
new Thread(target1, "1").start();
Thread.sleep(200);
// BLOCKED
new Thread(target1, "2").start(); // ----------------lock------------------
// TIMED_WAITING
new Thread(target2, "3").start();
Thread.sleep(200);
// WAITING
new Thread(target2, "4").start(); } public static synchronized void get() { try {
Thread.sleep(5000 * 5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally { }
} public static void get2() { try {
lock.lock();
Thread.sleep(5000 * 5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
lock.unlock();
}
} static Runnable target1 = new Runnable() { @Override
public void run() {
// TODO Auto-generated method stub
get();
}
}; static Runnable target2 = new Runnable() { @Override
public void run() {
// TODO Auto-generated method stub
get2();
}
}; }

About the diffrence of wait timed_wait and block in java的更多相关文章

  1. 从Guarded Block来看Java中的wait和notify方法

    目录 预备知识 概览 线程同步 wait()方法 wait() wait(long timeout) wait(long timeout, int nanos) notify() & noti ...

  2. Java Synchronized Blocks

    From http://tutorials.jenkov.com/java-concurrency/synchronized.html By Jakob Jenkov   A Java synchro ...

  3. Java 8 Lambda表达式探险

    为什么?    我们为什么需要Lambda表达式    主要有三个原因:    > 更加紧凑的代码      比如Java中现有的匿名内部类以及监听器(listeners)和事件处理器(hand ...

  4. Ali相关面试题

    接到的电话面试,人比较随和,当时IOS有一段时间没怎么碰了,因为近期一直在用C++,QT做IM.很多回答我都扯到了C++上,所以可能没戏- -! 回想一下,大概有如下几个问题:(都是很常见的问题) 1 ...

  5. Java 8 Lambda表达式

    Java 8 Lambda表达式探险 http://www.cnblogs.com/feichexia/archive/2012/11/15/Java8_LambdaExpression.html 为 ...

  6. Lambdas in Java 8--reference

    Part 1 reference:http://jaxenter.com/lambdas-in-java-8-part-1-49700.html Get to know lambda expressi ...

  7. 115 Java Interview Questions and Answers – The ULTIMATE List--reference

    In this tutorial we will discuss about different types of questions that can be used in a Java inter ...

  8. Android 4.1.1源码编译

    适用环境: 系统:ubuntu-12.04.2-desktop-amd64 JDK:sun-java6-jdk Android源码:android_4.1.1_r1 虚拟机安装: VMware Wor ...

  9. JNI加载Native Library 以及 跨线程和Qt通信

    Part1 Java Native Interface-JNI-JAVA本地调用 JNI标准是Java平台的一部分, 允许Java代码和其他语言进行交互; 开始实现-> Step 1) 编写Ja ...

随机推荐

  1. React Native编译器的配置以及基础知识

    入职新公司,这边打算采用RN来写界面,所以学习一波这一块的知识. 采用的是WebStorm来编译,据同事说,比他采用atom编译要多很多语法提示. 下载地址:https://www.jetbrains ...

  2. Python爬虫番外篇之关于登录

    常见的登录方式有以下两种: 查看登录页面,csrf,cookie;授权:cookie 直接发送post请求,获取cookie 上面只是简单的描述,下面是详细的针对两种登录方式的时候爬虫的处理方法 第一 ...

  3. 拓扑排序下的有无环判定 STL方法

    bool canFinish(int numCourses, vector<pair<int, int>>& prerequisites) { vector<se ...

  4. JavaScript高程--<script>标签

    <script>标签 在HTML5中script主要有以下几个属性:async,defer,charset,src,type, async(可选): 关键词:异步脚本,外部文件,立即下载: ...

  5. Hello BlogsPark

    2017年8月4日, 今天是使用博客园的第一天, 签个到. NSLog(@"Hello BlogsPark");

  6. 原理Lambda表达式

    http://www.kingreatwill.com/ (1)源起 .net的设计者发现在使用匿名方法时, 仍旧有一些多余的字母或单词的编码工作 比如delegate关键字 于是进一步简化了匿名方法 ...

  7. Apache Kafka系列(一)

    摘要: 1.Apache Kafka基本概念 2.Kafka的安装 3.基本工具创建Topic 本文基于centos7, Apache Kafka 0.11.0 一.基本概念 Apache Kafka ...

  8. vs2013下载地址以及安装方法

    1.下载vs2013 http://download.microsoft.com/download/0/7/5/0755898A-ED1B-4E11-BC04-6B9B7D82B1E4/VS2013_ ...

  9. Windows 2008服务器环境PHP连接SQL Server数据库的配置及连接方法

    背景: PHP程序常用的数据库是Mysql数据库,但是由于实际项目需要,要求PHP网站连接SQL Server数据库查询一些必要信息.因此,本文就来给大家介绍一下如何安装及配置PHP扩展,可以实现PH ...

  10. 【NO.13】Jmeter - 在Linux整理和计算测试结果

    我们现在描述的是:在Linux系统使用Jmeter执行性能测试. 所以当执行完测试以后,就要计算一下测试结果,反馈给开发人员嘛. 在Linux系统使用Jmeter执行性能测试都包含哪些步骤,来,回顾一 ...