- 浏览: 410421 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (347)
- java基础 (58)
- ajax (10)
- s2sh (10)
- 版本控制 (4)
- 数据库 (34)
- 服务器 (4)
- 开发工具 (8)
- javascript (15)
- soockte (5)
- ext (2)
- 环境搭建 (7)
- struts2 (9)
- 找工作中的面试技巧 (2)
- 承接网站零活 (0)
- JNI+JONSE+OGNL (8)
- 性能优化 (4)
- Android开发 (5)
- xul (8)
- jquery (2)
- 线程 (3)
- jsp+jdbc (7)
- servlet (2)
- java对xml操作 (1)
- IO流的操作 (10)
- 项目开发前配置 (1)
- css (0)
- 上传、下载 (2)
- 知识探讨 (2)
- html (2)
- HQL (0)
- 工作技巧 (1)
- IT (1)
- Hibernate杂谈 (10)
- Spring杂谈 (35)
- DWR (5)
- JUnit测试 (3)
- EasyMock测试web (1)
- ibatis (6)
- maysql (5)
- C++ (0)
- 正则表达式(解剖) (1)
- 密码安全 (2)
- 上传 (1)
- socket (1)
- jni(java与c++结合) (1)
- jdk版本问题 (0)
- tomcat版本问题 (5)
- linux基本命令(初学) (7)
- linux项目发布 (1)
- 3年的经验总结 (1)
- 加解密 (2)
- 高级java阶段 (2)
- java内存分区 (1)
- 浏览器 (1)
- 职业规划 (1)
- 管理 (5)
- java语音 (1)
- SSH (1)
- jsp (3)
- extjs (1)
- uml (2)
- 加密 (1)
- web (2)
- Ant (1)
- 自述 (1)
- Linux (1)
- ssh源码解剖 (1)
- 代码优化 (1)
- 设计模式 (0)
- xml (2)
- JOSN (1)
- scala (0)
- hadoop (0)
- spark (0)
- hana (1)
- shior (1)
- java Word (6)
- java PDF (4)
- java Excel (0)
最新评论
-
高级java工程师:
ztao2333 写道谢谢。收藏下这个总结。呵呵
温习jdk和tomcat -
ztao2333:
大写的,不是大学的
温习jdk和tomcat -
ztao2333:
谢谢。收藏下这个总结。
温习jdk和tomcat -
the_small_base_:
你好,可以提供调用方法吗?需要的Jar,能发下源码吗?谢谢
java实现语音 -
高级java工程师:
文思涌动 写道楼主新年好。可否再传一遍给我,我没有收到, 不清 ...
s2sh整合
package cn.com.io.threadDemo.ThreadSyn; 9. 10./** 11. * 通过两个属性值创建死锁 12. * 本程序通过两个线程各自锁定一个属性值,这样两个线程都无法结束,造成死锁 13. * @author Administrator 14. * 15. */ 16.public class ThreadSyn2 implements Runnable{ 17. 18. private static Object obj1=new Object(); 19. 20. private static Object obj2=new Object(); 21. 22. /** 23. * @param args 24. */ 25. public static void main(String[] args) { 26. ThreadSyn2 ts1=new ThreadSyn2(); 27. ThreadSyn2 ts2=new ThreadSyn2(); 28. 29. Thread t1=new Thread(ts1);//线程1 30. Thread t2=new Thread(ts2);//线程2 31. t1.setName("theOne"); 32. t2.setName("theTwo"); 33. 34. t1.start(); 35. t2.start(); 36. 37. } 38. 39. public void run() { 40. String name=Thread.currentThread().getName(); 41. if(name.equals("theOne")){ 42. method1(name); 43. }else{ 44. method2(name); 45. } 46. 47. } 48. 49. //线程1的方法锁定obj1,线程2就无法完成 50. private void method1(String name) { 51. System.out.println(name); 52. synchronized(obj1){ 53. try { 54. Thread.sleep(1000); 55. } catch (InterruptedException e) { 56. e.printStackTrace(); 57. } 58. synchronized(obj2){ 59. System.out.println(obj2); 60. } 61. } 62. } 63. 64. //线程1的方法锁定obj2,线程1就无法完成 65. private void method2(String name) { 66. System.out.println(name); 67. synchronized(obj2){ 68. try { 69. Thread.sleep(1000); 70. } catch (InterruptedException e) { 71. e.printStackTrace(); 72. } 73. synchronized(obj1){ 74. System.out.println(obj1); 75. } 76. } 77. } 78.}
发表评论
-
System.gc()与Runtime.getRuntime().gc()区别
2019-07-23 14:34 838首先,我们需要明确一点的是,两个gc都会强制触发垃圾收集,它们 ... -
sql大全
2013-07-12 19:02 1036经典SQL语句大全 一、基础 1、说明: ... -
ATAL ERROR in native method: JDWP No transports initialized, jvmtiError=JVMTI_ER
2013-07-04 15:38 4041windos系统bug 因为我的机器比较内存比较少512M, ... -
java读取文本文件数据
2013-01-24 23:41 1093import java.io.*; public cla ... -
java复习(set 、list、map)
2013-01-24 23:27 1147复习 public static void main( ... -
java代码实现excel输到导入oracle
2012-07-31 13:28 15031.首先需要两个jar包jxl.jar,ojdbc.jar(注 ... -
使用doc命令将java工程生成.jar文件和war文件
2011-12-30 09:56 1316假定有一个Web应用:C:\myHome myHom ... -
堆栈 新的 认识
2011-10-31 14:24 1241A a = new A(); 在堆开辟空间,并把值存在堆 ... -
java实现捕捉屏幕
2011-10-15 16:17 1692要使用的是java.util.Robot类来捕获屏幕,可以实现 ... -
抽象类、抽象方法、接口
2011-10-13 10:55 1139抽象类就是不能使用new方法进行实例化的类,即没有具体实例对象 ... -
for和foreach使用?
2011-08-29 15:03 707在JDK5.0中加入了一个新的特性,那就是FOR-EACH循环 ... -
java开发群
2011-08-25 20:08 41欢迎java群1670293,希望有工作经验热情的加入---- ... -
JAVA中,如何判断一个字符串中包含的字符在另一个字符前面?
2011-06-30 13:34 3613[color=indigo]用它们在这个字符串中的位置来判断。 ... -
java实现判断A中是否包含B
2011-06-30 13:33 1328代码 package day6; public cla ... -
导入word到Fckeditor(java实现)
2011-06-24 13:58 1185最近项目可以说到达了一个里程碑,借这篇文章把前面的技术进行总结 ... -
使用3中不同的方式 从集合中取数据
2011-05-25 10:47 974代码 package iter; import jav ... -
Java反射
2011-05-05 08:49 852[color=blue]Java Reflection (JA ... -
Java反射机制
2011-05-05 08:48 744JAVA反射机制 JAVA ... -
get 和post
2011-05-05 08:39 846表单form的提交有两种方式,一种是get的方法,一种是pos ... -
java实现打印金字塔
2011-04-26 15:22 1580package io; import java.ut ...
相关推荐
java死锁源码java死锁源码java死锁源码java死锁源码java死锁源码java死锁源码java死锁源码java死锁源码java死锁源码java死锁源码java死锁源码java死锁源码java死锁源码java死锁源码java死锁源码java死锁源码java死锁...
本源代码是博客《Java 多线程编程之七:死锁(附源代码)》附带的实例性源代码。原博客链接地址:http://blog.csdn.net/defonds/archive/2010/01/26/5258120.aspx。
Java死锁_动力节点Java学院整理,动力节点Java学院整理
Java死锁的问题分析与研究
Java死锁问题是一个在多线程编程中常见的复杂情况,它发生在两个或多个线程相互等待对方释放资源,导致它们都无法继续执行的情况。理解并解决死锁是Java开发者必须掌握的关键技能之一,尤其是在构建高并发、多线程...
在Java编程中,死锁和生产者消费者问题是多线程编程中的两个重要概念,它们涉及到并发执行和资源管理。理解并正确处理这些问题对于构建高效、可靠的多线程应用至关重要。 死锁是指两个或多个线程在执行过程中,因...
在Java编程中,死锁是并发编程中一个重要的概念,它发生在两个或多个线程相互等待对方释放资源,导致它们都无法继续执行的情况。这个例子中,我们将会深入探讨死锁的产生、识别以及如何避免它。 首先,让我们理解...
Java多线程编程是开发高并发应用的关键技术之一,但随之而来的是各种复杂的问题,其中最令人头疼的就是死锁。死锁是指两个或多个线程相互等待对方释放资源,导致它们都无法继续执行的情况。JCarder是Java中用于检测...
死锁是指,两个或多个动作一直在等待其他动作完成而使得所有动作都始终处在阻塞的状态。想要在开发阶段检测到死锁是非常困难的,而想要解除... Java 5引入了ThreadMXBean接口,它提供了多种监视线程的方法。我建议
在“房门终于被打开了(解决死锁的方法)”这个主题中,可能详细分析了实际案例,演示了如何通过上述策略解决Java死锁问题。通过阅读"说明.txt"和"房门终于被打开了(解决死锁的方法)"这两个文件,我们可以更深入地...
《银行家算法避免死锁:Java模拟实现》 在多线程编程中,死锁是一个常见且严重的问题,它发生在两个或多个并发进程之间,每个进程都等待其他进程释放资源,从而导致所有进程都无法继续执行。银行家算法是解决死锁...
本主题将深入探讨死锁的概念、死锁的四个必要条件以及如何在Java中实现死锁检测。 死锁的定义: 死锁是指系统中的多个进程相互等待对方释放资源,从而陷入无法前进的状态。这种状态通常会导致系统停滞不前,影响...
Java 模拟线程死锁 线程死锁 在 Java 中,线程死锁(Deadlock)是一种特殊的情况,发生在两个或多个线程之间的互相等待对方释放资源的状态。这种情况下,各个线程都在等待其他线程释放资源,而自己也占用着其他...
在Java编程中,死锁(DeadLock)是一个重要的并发控制问题,它发生在两个或多个线程互相持有对方需要的资源并等待对方释放时,导致所有线程都无法继续执行的情况。死锁是多线程编程中需要特别注意和避免的问题,因为...
在Java中,死锁的实例可以通过一个简单的代码示例来解释。考虑以下情况: ```java public class DeadThread { private Thread thread1; public DeadThread(Object object1, Object object2){ thread1 = new ...
Java 实现死锁的示例代码 死锁是指多个进程循环等待它方占有的资源而无限期地僵持下去的局面。在计算机系统中,涉及软件、硬件资源都可能发生死锁。例如,在一个系统中,只有一台 CD-ROM 驱动器和一台打印机,某一...
java中产生死锁的原因及如何避免 java中的死锁是一个常见的问题,它会导致程序的崩溃甚至是系统的崩溃。因此,了解java中产生死锁的原因和如何避免是非常重要的。 java中产生死锁的原因 在java中,死锁是指两个或...
在Java编程中,死锁是多线程环境下常见的问题,当两个或多个线程相互等待对方释放资源,导致它们都无法继续执行时,就会出现死锁。`synchronized`关键字是Java提供的一种内置锁机制,用于控制对共享资源的并发访问,...