`
mmdev
  • 浏览: 12891228 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

线程相关试题

 
阅读更多

/**
* 计算输出其他线程锁计算的数据
*/
class ThreadA {
public static void main(String[] args) {
ThreadB b = new ThreadB();
//启动计算线程
b.start();
//线程A拥有b对象上的锁。线程为了调用wait()或notify()方法,该线程必须是那个对象锁的拥有者
synchronized (b) {
try {

System.out.println("等待对象b完成计算。。。");
//当前线程A等待
b.wait(); //这里并不是让b去wait,是b的所有者线程wait,但是这个线程的苏醒的条件是b的notify或notifyAll方法的调用而且
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("b对象计算的总和是:" + b.total);
}
}
}

/**
* 计算1+2+3 ... +100的和
*
* @author leizhimin 2008-9-15 13:20:49
*/
class ThreadB extends Thread {
int total;

public void run() {
System.out.println("xxxxxxxxxxxxxxxxxrrrrrrrrrrrrrrrrrrrrrx");
synchronized (this) {
System.out.println("xxxxxxxxxxxxxxxxxx");
for (int i = 0; i < 101; i++) {
total += i;
}
//(完成计算了)唤醒在此对象监视器上等待的单个线程,在本例中线程A被唤醒
notify();
}
}
}

notify():
(唤醒)
(在此对象监视器上)
(等待的)
(单个)
(线程)。


A a = new A();

a.notify();
a是对象监视器

notify()是类A的成员方法

因此wait、notify、notifyAll都属于同一个对象监视器


解决死等问题的途径:
通过某一条件来判断对象监视器是否以及执行了notifyAll()
1)如果已执行,则避免自己被监视器wait()
2)如果没执行,则可以放心大胆的去被wait(),因为迟早都会被notifyAll()

分享到:
评论

相关推荐

    SCJP试题详析.pdf

    循序渐进从JAVA基本概念、核心内容、试题分析、小结和习题等多个环节来组织内容,内容主要包括JAVA语言语法、使用JAVA来创建图形和用户接口、例外处理、垃圾搜索、面向对象、文件输入、输出、事件处理机制、多线程...

    Java并发编程面试题--共87题

    大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。 注:本文档根据http://www.importnew.com/12773.html 和...

    GitHub上最火的Android项目,所有开源项目都有详细资料和配套视频

    1- Davik进程linux进程线程之间的区别 2- aidl实现进程间通信 3-Messenger实现进程间通信 4- ContentProvider实现进程间通信 与性能优化相关试题 5-什么是内存泄漏 6-什么是内存溢出 7-什么情况会导致内存泄漏...

    java基础知识,面试试题.zip

    Java前后开发面试题,大厂进阶之路,基于JavaGuide、Cyc大佬、牛客上的面经及王道考研相关视频,并改进了其中说法矛盾或含糊之处。 包含计算机网络知识、JavaSE、JVM、Spring、Springboot、SpringCloud、Mybatis、多...

    计算机操作系统试题库(最全).pdf

    以下是一些常见的计算机操作系统相关问题,供您进行复习: 什么是操作系统?它的主要功能是什么? 解释进程和线程的概念,并说明它们之间的区别。 什么是内存管理?讲解虚拟内存和分页机制的工作原理。 了解进程...

    四川师范大学成都学院 “联通杯”软件设计大赛决赛题目

    有关软件设计大赛的题目 1. 基于B/S结构的可视化工作流程定制软件开发 2. 基于Web Service 的掌上应用系统 3.新型网络智能机器人交互系统 4. 人脸识别相关核心技术研究及系统实现 5. Web Service实现天气预报模块 6...

    网络安全试题及答案.doc

    网络安全试题 部门: 姓名: 成绩: 第一部分 选择题(50分) 1、Ipsec协议主要应用属于哪一层?[ ] A、应用层 B、传输层 C、Internet层 D、网络层 2、黑客搭线窃听属于哪一类风险? [ ] A、信息存储安全 B、信息传输...

    JAVA 笔试面试 宝典 十分全面

    JAVA笔试面试宝典。(java笔试题大集合及答案,EJB方面、Java基础方面、线程编程方面、应聘Java笔试时可能出现问题及其答案、求职笔试大全、中兴华为面试试题及其他相关资料)

    计算机网络考试多选汇总题库Ⅱ.pdf

    本资源主要涉及是计算机与计算机网络考试相关的多选项试题,共包含150道题,答案标注为红色。希望能够帮助更多的粉丝提升相关的知识。下面是部分题目: 1、在Windows中,任务管理器的作用是() A.终止未响应的应用...

    Java学习题答案

    相关知识可以自己参考相关资料加上自己的理解.欢迎拍砖 1.简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。(15分) 区别主要答两点: a.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作...

    net学习笔记及其他代码应用

    29.根据线程安全的相关知识,分析以下代码,当调用test方法时i&gt;10时是否会引起死锁?并简要说明理由。 public void test(int i) { lock(this) { if (i&gt;10) { i--; test(i); } } } 答:不会发生死锁,(但...

    java面试宝典

    java面试试题 全面 准确 带答案 coreJava部分 8 1、面向对象的特征有哪些方面? 8 2、作用域public,private,protected,以及不写时的区别? 8 3、String 是最基本的数据类型吗? 8 4、float 型float f=3.4是否正确? 8 ...

    .NET程序员面试指南

    该书着重针对.NET技术职位的应聘者,在.NET框架各个技术类别中,选取最常出现在.NET面试中的问题,进行分析和解答,同时解释和剖析和该问题相关的.NET机制原理,帮助读者达到知其然更知其所以然的程度。该书几乎包揽...

    java面试题大全(2012版)

    2012版最全面试题大全目录: 一. Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环?...

    java面试题以及技巧

    │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海税友.txt │ 上海税友软件 面试题.doc │ 公司...

    java面试题目与技巧1

    │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海税友.txt │ 上海税友软件 面试题.doc │ 公司...

    java面试题及技巧4

    │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海税友.txt │ 上海税友软件 面试题.doc │ 公司...

    java面试题及技巧3

    │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海税友.txt │ 上海税友软件 面试题.doc │ 公司...

    java面试题以及技巧6

    │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海税友.txt │ 上海税友软件 面试题.doc │ 公司...

Global site tag (gtag.js) - Google Analytics