java基础知识问答:线程组,死锁

问题描述

问题1:Thread的toString方法描述:返回该线程的字符串表示形式,包括线程名称、优先级和线程组。请问什么叫“线程组”?问题2:求一个死锁的demo,越简单越好

解决方案

线程组:http://caterpillar.onlyfun.net/Gossip/JavaGossip-V2/ThreadGroup.htm列锁例子:http://www.cnblogs.com/linjiqin/archive/2011/04/11/2013083.html希望对你有帮助
解决方案二:
死锁看这里:http://ifeve.com/deadlock/http://ifeve.com/deadlock-prevention/http://ifeve.com/reentrance-lockout/http://ifeve.com/nested-monitor-lockout/
解决方案三:
输出:t1:aquiring lock1t1:aquried lock1t2:aquiring lock2t2:aquried lock2t1:aquiring lock2t2:aquiring lock1
解决方案四:
public class DeadLock {static Object lock1 = new Object();static Object lock2 = new Object();static class Thread1 extends Thread {@Overridepublic void run() {System.out.println("t1:aquiring lock1");synchronized (lock1) {System.out.println("t1:aquried lock1");try {Thread.sleep(1000);} catch (InterruptedException e) {}System.out.println("t1:aquiring lock2");synchronized (lock2) {System.out.println("t1:aquried lock2");}}}}static class Thread2 extends Thread {@Overridepublic void run() {System.out.println("t2:aquiring lock2");synchronized (lock2) {System.out.println("t2:aquried lock2");try {Thread.sleep(1000);} catch (InterruptedException e) {}System.out.println("t2:aquiring lock1");synchronized (lock1) {System.out.println("t2:aquired lock1");}}}}public static void main(String[] args) throws InterruptedException {Thread t1 = new Thread1();Thread t2 = new Thread2();t1.start();t2.start();t1.join();t2.join();}}

时间: 2024-09-22 01:06:59

java基础知识问答:线程组,死锁的相关文章

Java基础知识回顾--线程

基本概念 线程是一个程序内部的顺序控制流 Java的线程是通过java.lang.Thread类来实现的.main函数是一个主线程,用户可以通过创建Thread的实例来创建新的线程.每一个线程都必须实现run方法.通过Thread类的start方法来启动一个线程. 两种方式实现,一种是线程类实现Runnable接口:二种就是定义一个Thread的子类并重写其run方法. public class TestThread1 { public static void main(String args[

Java基础之008-多线程

Java基础之008-多线程                                        35岁学习Java 1.进程和线程的概念. 1)     概念                 进程:正在进行中的程序(直译).                             线程:就是进程中一个负责程序执行的控制单元(执行路径)                 任务:每一个线程都有自己运行的内容.这个内容可以称为线程要执行的任务.                 提示:一个进程

《Java和Android开发实战详解》——1.2节Java基础知识

1.2 Java基础知识 Java和Android开发实战详解 Java语言类似于C++是一种编译型语言,不过两者并不完全相同,严格说来,Java是结合编译和解释优点的一种编程语言. 1.2.1 Java平台 "平台"(Platform)是一种结合硬件和软件的执行环境.Java既是一种高级的面向对象的编程语言,也是一个平台.Java平台是一种纯软件平台,它可以在各种基于硬件的平台上运行,与硬件无关,主要是由JVM和Java API两个部分组成. 1.JVM虚拟机 JVM(Java Vi

J2ME中需要的Java基础知识

现在有大部分人,都是从零开始学J2ME的,学习J2ME的时候,总是从Java基础开始学习,而且现在讲Java基础的书籍中都是以J2SE来讲基础,这就给学习造成了一些不必要的麻烦,下面将J2ME中用到的和不需要的Java基础知识做一个简单的说明:        J2ME中使用到的Java基础知识: 1.  Java语法基础:包括基本数据类型.关键字.运算符等等 2.  面向对象的思想:类和对象的概念,继承和多态等等. 3.  异常处理 4.  多线程 J2ME中没有用到的Java基础知识: 1. 

javaeye基础-java基础知识问题求助

问题描述 java基础知识问题求助 问 形如 X(父类) y=new Y(子类): 这样new出来的对象y是子类对象还是父类对象? 如果子类有重载的构造函数,那么在new的时候父类的默认构造函数还会被子类的构造函数调用么? 解决方案 你可以去了解下向上转型和向下转型的区别! 解决方案二: java的一些基础知识 .Java基础知识一Java_计算机基础知识 解决方案三: new 出来的当然是子类对象,但是是父类引用,即父类引用指向之类对象. 子类有重载的构造函数?构造函数是不能重载的 解决方案四

对象- c#基础知识问答.......

问题描述 c#基础知识问答....... 在C#中 "控制台"和"类"."对象"."方法" 分别是什么关系???? 解决方案 C#基础知识基础知识 -- 问答电子基础知识问答 解决方案二: 你能先看看面向对象的基本知识,再来提问好吗 解决方案三: http://blog.csdn.net/liujiahan629629/article/details/8227391 解决方案四: 我的理解: 对象是客观世界的抽象事物的集合 类

《Android游戏开发详解》一第2章 Java基础知识

第2章 Java基础知识 Android游戏开发详解第1章内容完全是成为Java程序员的准备工作.在本章中,你将编写自己的第一个Java程序(包括一款简单的游戏),并学习如何把游戏的角色.加血(power-up)以及其他实体表示为Java对象.

WCDMA基础知识问答

1.为什么WCDMA的实际使用要比TD-SCDMA网络稳定很多? WCDMA是在GSM上平稳过渡,兼容性高2.我平时业务繁忙,想要3G的视频通话,国内哪一个标准,在国外被使用范围最广? WCDMA3.3G时代,中国联通推广WCDMA时 提出的"三不原则"是哪三不? 三不,即不换卡.不换号.不登记,即时享受WCDMA4.3G来了,我想去体验下,我用的是水货手机额,去 那里体验? 目前水货手机基本都支持WCDMA,只需要在5月17日后 插入任意联通SIM卡,即可享受3G生活5.下列哪些号段

《Android游戏开发详解》一第1部分 Java基础知识

第1部分 Java基础知识 Android游戏开发详解本文仅用于学习和交流目的,不代表异步社区观点.非商业转载请注明作译者.出处,并保留本文的原始链接.