请写出下面程序的运行结果,代码如下

public class ThreadA {public static void main(String[] args) {ThreadB  b = new ThreadB();Threadc  c = new Threadc();c.setName("第二线程");b.setName("第一线程");c.start();System.out.println(Thread.currentThread().getName()+" is start...");synchronized(c){try{System.out.println("Waiting for b1 to complete...");c.wait();System.out.println("Completted.Now back to "+Thread.currentThread().getName());b.start();}catch(InterruptedException e){}}}}class ThreadB extends Thread{int total;public void run(){synchronized(this){System.out.println(Thread.currentThread().getName() +" is running..");for(int i = 0 ; i < 10 ; i++){total += i;}System.out.println("total is " + total);notifyAll();}}
}class Threadc extends Thread{int sum = 1;public void run(){synchronized(this){System.out.println(Thread.currentThread().getName() +" is running...");for(int i = 1 ; i < 10 ; i++){sum *= i;}System.out.println("sum is " + sum);notify();}}
}

2 运行结果为:

main is start...
Waiting for b1 to complete...
第二线程 is running...
sum is 362880
Completted.Now back to main
第一线程 is running..
total is 45

3分析如下:

java面试题二十七 多线程考题2相关推荐

  1. Java面试题(二)-----简述Java和C++的相同点和不同点

    Java面试题(二)-----简述Java和C++的相同点和不同点 文章目录

  2. java面试题二十六 多线程考题

  3. java面试题二十九 多线程数据共享问题

    1 编一个程序,实现2个线程对 j 变量自增, 2个线程对 j 变量自减 2 代码如下 public class TestThread {public static void main(String[ ...

  4. java面试题二十八 从未用过的 native

    一 考题 二 native延伸 native关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)实现的文件中.Java语言本身不能对操作系统底层进行访 ...

  5. 膜拜!华为大牛透彻讲解Java面试题100道必考题

    什么是面向对象 面向对象的封装,多态,继承? 封装:明确标识出允许外部使用的成员函数和数据项 继承:继承基类的方法,并做出自己的改变和扩展 多态:基于对象所属类的不同,外部对同一个方法的调用,实际执行 ...

  6. Java基础(二十七)Java IO(4)字符流(Character Stream)

    字符流用于处理字符数据的读取和写入,它以字符为单位. 一.Reader类与Writer类 1.Reader类是所有字符输入流的父类,它定义了操作字符输入流的各种方法. 2.Writer类是所有字符输出 ...

  7. C语言试题二十七之请编写程序,实现矩阵(3行3列)的转置(即行列互换)。

    1. 题目 请编写一个函数function(int array[3][3]),实现矩阵(3行3列)的转置(即行列互换). 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生复试中 ...

  8. Java基础学习(二十七)之IO流

    1. File 1.1 File类概述和构造方法(myFile中的com.itheima_01中的FileDemo01) File:它是文件和目录路径名的抽象表示 文件和目录是可以通过File封装成对 ...

  9. 【牛客网java笔试题】以下多线程对int型变量x的操作,哪几个不需要进行同步

    以下多线程对int型变量x的操作,哪几个不需要进行同步(    ) A.x=y; B.x++; C.++x; D.x=1; A.由于y的值不确定,所以要加锁: B,C 两个在多线程情况下是必须要加锁的 ...

最新文章

  1. 快来呀~120类萌狗祝你狗年大吉!
  2. python基础之异常处理
  3. Boost:bind绑定全局占位符的测试程序
  4. 高端企业级存储IBM XIV访谈视频
  5. SAP UI渲染模式:客户端渲染 VS 服务器端渲染
  6. css --- flex:n的解析
  7. JavaScript 中的 this
  8. 计算机科学中的递归算法是把问题,递归运算法
  9. 如何计算MySQL数据库占用内存
  10. 使用Hash函数和MAC产生伪随机数
  11. Linux 定时任务 Crontab
  12. imagej软件测量鼠脑切片的梗塞区域面积
  13. 八、Oracle学习笔记:日期函数
  14. keepalived基本应用解析
  15. Summary_zTree的 setting 配置详解
  16. Zemax 全新 22.1 版本产品现已发布
  17. 【艾特淘】直通车数据化选款技巧
  18. java计算机毕业设计红色主题旅游网站源码+mysql数据库+系统+lw文档+部署
  19. MCS51 系列单片机的最小系统
  20. 如何把阿拉伯数字转换为中文大写?

热门文章

  1. 【Modelsim入门】新建项目,添加verilog文件,经编译的程序进行仿真
  2. oracle 批量插入
  3. github文件上传全流程-新手入门系列
  4. SSTable数据结构
  5. hdu 3812 Sea Sky 深搜+剪枝
  6. Fetch API——简化你的AJAX
  7. jQuery——clone()方法
  8. 1017 Queueing at Bank (25 分)_27行代码AC
  9. QT Creator应用程序开发——QT程序设计基本知识
  10. Python程序开发——第八章 文件