题目如下:
子线程循环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();
}
}
分享到:
相关推荐
此前被面试问道一道面试题,B,C线程都有自己的任务,A线程要在B,C线程都结束后开始执行,并且不允许有A线程循环等待空耗CPU现象。
最新版Java面试宝典,精心提炼核心重点内容简化应用面试实战10秒一道,Java初级,高级,框架,底层原理,数据库,操作系统,微服务,IO,并发,JVM,容器,SpringBoot,SpringCloud,linx,面向对象,常用类,多线程,...
前几天整理了很多关于面试的经典题目,例如Redis为什么是单线程的、SqlSessionTemplate是如何保证SqlSession线程安全性的、还有缓存雪崩、缓存穿透、Hash一致性等等,很多小伙伴都留言表示面试官确实问了某某某问题...
这是一道面试题,创建多线程时,使用继承Thread类和实现Runnable接口有哪些区别呢? 一、Thread 先来看看Thread类和其中的start()方法 class Thread implements Runnable{.....} // 可见,Thread类实现了Runnable...
春节的时候去面试了一家公司,笔试题里面有一道是使用简单的代码实现线程的‘死锁’,当时没有想到这道题考的是Synchronized关键字,于是自己定义了两个资源模拟了一下。后面想想肠子都悔青了,于是自己在电脑上...
偶然看到一道面试题,Java在实例化一个类的时候,数据在堆和栈中是如何存放的? public class A{ public int i=1; public static A a1 = new A(); public static void mian(String args[]){ int c = ...
面试过程中面试官会做详细记录,二面关于编译和最后一道算法题(解题思路:深度优先遍 历/广度优先遍历),我答的并不好,所以三面面试官问了一些关于编译和深度优先遍历/广 度优先遍历的题目。
今天一个学妹跟我分享她今天的面试过程,她面试的是java开发岗,跟我说了面试官大概问了哪些问题,基本都是一些常规的基本知识,其中涉及到多线程的部分有这样一个问题。 面试官:(一脸严肃)说一下Thread和Runable有...
本书的题目以算法和数据结构为主,但也分别有一个章节涵盖分布式系统设计,c/c++、java、sql、多线程等知识性的内容。所有题目都有解答思路和答案,算法题目的实现使用了java。只要有一点java基础的同学,应该都可以...
包括链表,二叉树等等的常见的数据结构,包含了一般的面试题 三. DesignPattern 设计模式 包含了主要常见的设计模式案例,单例、动态代理、工厂、观察者模式等等 四. JUC Java.util.concurrent 并发编程艺术 这个包...