//子线程循环2次,主线程5,接着子又循环2次,主循环5,如此循环20次.
public class Four {
public static void main(String[] args) {
final Business bbb = new Business();
new Thread(new Runnable(){
@Override
public void run() {
for(int i=1;i<=20;i++){
bbb.getSub(i);
}
}
}).start();
for(int i=1;i<=20;i++){
bbb.getMain(i);
}
}
}
class Business{
boolean flag = true; //true---sub
public synchronized void getSub(int xun){
if(flag){
//子线程循环2次
for(int i=1;i<=2;i++){
System.out.println("zi线程---总"+xun+"----小"+i);
}
flag = false;
this.notify();
}else{
try {
this.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public synchronized void getMain(int xun){
if(flag){
try {
this.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}else{
//主线程5
for(int i=1;i<=5;i++){
System.out.println("主线程---总"+xun+"----小"+i);
}
flag = true;
this.notify();
}
}
}
zi线程---总1----小1
zi线程---总1----小2
主线程---总2----小1
主线程---总2----小2
主线程---总2----小3
主线程---总2----小4
...
分享到:
相关推荐
一个详细讲解JAVA_线程同步与死锁的例子 希望可以帮助到你。
Java__线程.mp4
1. **线程状态**:Java线程有新建、可运行、运行、等待、阻塞和死亡等六种状态,理解这些状态及其转换对于调试和优化多线程程序至关重要。 2. **同步机制**:包括synchronized关键字、wait()、notify()和notifyAll()...
Java线程编程是Java开发中的重要组成部分,尤其在构建高性能、高并发的应用程序时不可或缺。本资料"JAVA-JavaThreadProgramming-Sams.zip"提供了一套详细的教程,旨在深入讲解Java中的多线程设计和实现。 Java多...
Java多线程设计模式是Java开发中的核心概念,它涉及到如何高效、安全地在多个执行线程之间共享资源和协调任务。设计模式是解决特定问题的成熟方案,它们是编程经验的结晶,可以帮助开发者在面临多线程挑战时快速找到...
Java多线程是Java编程中的重要概念,它允许程序同时执行多个任务,从而提高系统资源的利用率和程序的响应速度。在Java中,通过实现Runnable接口或者继承Thread类可以创建并运行多线程。本资料"java_Thread.rar"提供...
Java多线程编程是Java开发中的重要组成部分,它允许程序同时执行多个任务,极大地提高了程序的效率和响应性。在Java中,多线程主要通过继承Thread类或实现Runnable接口来实现。本教程《Java多线程编程核心技术》将...
在这个名为"java_movestar.rar_j2se_线程控制"的压缩包中,我们很显然会探讨如何在J2SE环境中使用线程来控制程序的执行,特别是针对一个有趣的实例——在屏幕上画出移动的星星。 线程在计算机科学中是并发执行的...
在Java中实现代理服务器涉及到多个关键概念和技术,包括网络编程、多线程以及服务器端的处理逻辑。 首先,我们需要理解Java中的网络编程基础。Java提供了一系列的类库,如`java.net.Socket`和`java.net....
在“seaworld_java线程_java_doingw91_”这个项目中,我们主要探讨的是如何使用Java Swing构建一个海底世界的模拟应用,并且涉及到Java线程的运用。这是一个很好的实践示例,可以帮助我们深入理解Java图形用户界面...
Java线程是并发编程的核心部分,它允许程序在同一时间执行多个任务,从而提高了系统资源的利用率和程序的响应速度。本专题将深入探讨Java中的线程技术,包括线程的创建、状态管理、同步机制以及相关API的使用。 在...
Java多线程与并发编程是Java开发中至关重要的一部分,它涉及到如何高效地利用CPU资源,以实现程序的并行执行。在操作系统层面,多任务和多进程是通过分配不同的内存空间来实现的,而线程则共享同一进程的内存,这...
本项目"tcp_test.rar"似乎是一个关于Java实现TCP多线程传输的实例,它涵盖了发送方和接收方的并发处理。 首先,让我们了解TCP多线程的概念。在单线程TCP服务器中,服务器接收到一个客户端连接后,会阻塞等待该连接...
Java线程调度策略包括抢占式调度和合作式调度。在Java中,默认采用的是抢占式调度,即线程的执行优先级由JVM决定,高优先级的线程可能会中断低优先级线程的执行。然而,开发者可以通过设置线程的优先级来影响调度,...
JAVA教程_第六讲_Java的线程和Java_Applet.doc
Java多线程是Java编程中的核心概念,尤其在如今并发性能至关重要的软件开发中,它的重要性不言而喻。深入理解Java多线程能够帮助开发者有效地利用计算机资源,提高程序的执行效率,优化系统性能。 Java多线程的实现...
java10_线程.ppt
多线程__阶乘.txt”这个文件中,可能包含了实验的详细步骤、代码示例以及对多线程阶乘运算的解释。文件内容可能包括以下部分: 1. **理论基础**:介绍阶乘的基本概念,以及多线程在并发计算中的作用。 2. **线程...
在标签"java_多线程_下载 java_多线程下载"中,我们再次确认了主题,即使用Java语言进行多线程文件下载。下面将详细讲解Java多线程下载的相关知识点: 1. **线程基础**:在Java中,线程是程序中的执行流。`Thread`...
本项目“choujiangxitong.rar”提供了一个基于Java语言实现的抽奖系统,它利用了线程技术来实现抽奖过程的并发和实时性,同时具有可视化界面,使得用户能够直观地看到抽奖结果。 1. **Java编程基础**:Java是一种...