题目如下:
子线程循环10次,然后主线程循环100次。如此往返,循环50次。
package TreaditionThread;
public class TreadtionnalThreadMian {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
final Business business = new Business();
new Thread(new Runnable(){
public void run() {
// TODO Auto-generated method stub
for (int i = 0; i < 50; i++) {
business.sub(i);
}
}
}).start();
for (int i = 0; i < 50; i++) {
business.main(i);
}
}
}
class Business {
private boolean bShuldBusi = true;
public synchronized void sub(int i){
while(!bShuldBusi){
try {
this.wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
for (int j = 0; j < 10; j++) {
System.out.println("sub Thread"+j+" loop in "+i);
}
bShuldBusi = false;
this.notify();
}
public synchronized void main(int i){
while(bShuldBusi){
try {
this.wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
for (int j = 0; j < 100; j++) {
System.out.println("main Thread"+j+" loop in "+i);
}
bShuldBusi = true;
this.notify();
}
}
分享到:
相关推荐
根据给定的文件内容,我们可以总结出一系列与Java面试相关的知识点。下面将详细解析每一道题目涉及的关键概念。 ### 第一部分:基础知识 #### 1. final, finally, finalize的区别 - **final**: 用于声明变量、方法...
这是一道经典的Java面试题。解决这个问题需要了解Java的内存管理机制,包括FULL GC的触发条件、Perm Gen的设置、System.gc()方法的调用等。 Java集合框架 3. Java集合框架是Java语言中的一种重要概念,它提供了...
标题中的“答复: 一道经典线程面试题的4种解法”暗示了这是一个关于多线程编程的问题,通常在面试中出现,用于评估候选人的并发处理能力。在这个问题中,可能涉及到同步、线程安全、锁机制等关键概念。 在Java中,...
Java程序员在面试中可能会遇到各种各样的问题,涵盖了语言基础、类与对象、多线程、集合框架、异常处理、IO流、网络编程等多个方面。以下是对这些面试题的详细解析: 1. 题目涉及到字符串是不可变对象的概念。在`...
Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导地位。为了在求职面试中脱颖而出,了解并掌握Java的核心概念、...对于每一道面试题,深入理解并能举一反三,将是成为一名优秀Java开发者的关键。
本文将对美团2020年面试真题进行详细的解析,涵盖了Android面试的方方面面,包括数据结构、算法、Android基础知识、多线程编程、网络通信、设计模式、Java基础知识等方面。 数据结构与算法 * 双链表找相交结点:这...
这道2011年腾讯校招的面试题虽然没有明确的问题描述,但从标签中我们可以推测,它可能涉及C++、.NET、Java这三种编程语言中的某一方面,或者是关于算法设计与分析。面试题通常旨在考察候选人的思维能力、编程基础...
最新版Java面试宝典,精心提炼核心重点内容简化应用面试实战10秒一道,Java初级,高级,框架,底层原理,数据库,操作系统,微服务,IO,并发,JVM,容器,SpringBoot,SpringCloud,linx,面向对象,常用类,多线程,...
【华为Java面试题详解】 1. **数组排序与字符串处理** ...同时,还需要了解其他Java核心概念,如多线程、集合框架、异常处理、IO流、设计模式等,以及JVM的工作原理和性能优化策略,这些都是Java开发者必备的技能。
以上只是部分内容,完整的208道面试题涵盖了更多深入的Java知识,包括设计模式、Spring框架、Mybatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM优化等方面,每一道题目都值得深入探讨和学习。
以下是一道典型的字符串截取面试题: **面试题1:怎样截取字符串** 该题要求编写一个函数,根据输入的字节数截取字符串,同时保证汉字不被分割。这个问题的关键在于理解Java中字符编码,尤其是中文字符占两个字节...
《java面试800题(包括java,数据库,前台等,绝对全面)》 Q0027 哪些SQL语句在执行时是自动提交的? 数据定义语言DDL是自动提交的。 Q0028 索引对数据库的影响? 提高查询速度 Q0029 主外键有什么关系? 外键是从...
以上仅为Java面试题中的一部分内容,每一道题目都包含了丰富的技术点和深入的理解。对于求职者来说,熟练掌握这些知识点不仅能够帮助应对面试挑战,还能在实际工作中更好地运用Java语言解决问题。
- 同时给出了一道选择题,要求选出有效的内部类声明。 - 选项 **C** 和 **E** 是正确的: - **C**: 内部类可以访问外部类的私有成员变量 `d1`。 - **E**: 抽象内部类可以不提供方法实现。 ### 7. Java ...
在互联网大厂的Java工程师面试中,涵盖的知识点广泛且深入,包括算法、数据结构、操作系统、网络、数据库以及并发编程等多个方面。以下是对这些面试题目的详细解析: 1. **数组平方值的取值种类**: 这是一道关于...
面试题还涉及到Hibernate生成策略、Struts框架、MySQL的间隙锁、String对象的不变性、集合类的使用、多线程状态、Git版本控制、设计模式的应用、Spring注解的实现、Redis的key冲突解决、一致性Hash原理等多个核心...
Java面试题+答案最全版本,分类好的,这个资源涵盖了从基础到高级的Java编程知识点,是准备Java面试的理想资料。下面将详细解读其中可能涉及的重要知识点。 首先,基础部分通常包括: 1. **Java语法**:理解基本...
Java面试中的这道题目主要考察的是并发...总结来说,这道Java面试题主要测试了对`synchronized`关键字的理解,包括其作用、用法以及在并发环境中的内存可见性。理解这些概念对于编写正确且安全的多线程代码至关重要。