`

多线程控制执行

阅读更多
package org.masque.effective;

import java.util.concurrent.TimeUnit;
/**
 * 
 * @author masque.java@gmail.com
 *
 */
public class ThreadTest {
	
    static int count = 0;
	
	public static synchronized int getCount() {
		return count;
	}

	public static synchronized void setCount() {
		count++;
	}

	public static void main(String[] args) throws InterruptedException {
		(new Thread1()).start();
		(new Thread2()).start();
		(new Thread3()).start();
		while (true) {
			TimeUnit.SECONDS.sleep(1);
			if (getCount()==3) {
				System.out.println("over!");
				return;
			}
		}
	}
	
	
	
}

class Thread1 extends Thread{
	@Override
	public void run() {
		for (int i=10;i<200;i++) {
			System.out.println("Thread1===========:"+i);
			try {
				TimeUnit.SECONDS.sleep(1);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
		ThreadTest.setCount();
	}
}

class Thread2 extends Thread{
	@Override
	public void run() {
		for (int i=10;i<200;i++) {
			System.out.println("Thread2===========:"+i);
			try {
				TimeUnit.SECONDS.sleep(1);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
		ThreadTest.setCount();
	}
}

class Thread3 extends Thread{
	@Override
	public void run() {
		for (int i=10;i<200;i++) {
			System.out.println("Thread3===========:"+i);
			try {
				TimeUnit.SECONDS.sleep(1);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
		ThreadTest.setCount();
	}
}

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    多线程并行执行,汇总结果

    综上所述,多线程并行执行是提升程序性能的重要手段,而`CountDownLatch`和线程安全的数据结构则为在多线程环境中控制执行顺序和保证数据一致性提供了有力支持。理解并熟练运用这些工具和技术,对于开发高效、可靠的...

    多线程并发执行任务

    在IT领域,多线程并发执行任务是一种常见的优化策略,特别是在服务器端开发、实时系统以及高性能计算中。本文将深入探讨多线程并发执行任务的相关知识点,并基于提供的`MyThread.java`文件,来分析和理解如何在Java...

    PyQt5多线程的执行和停止

    通过这样的设计,我们可以实现多线程的并发执行,并具有灵活的控制和可视化的进度反馈。这种技术在处理大量数据处理、网络请求或其他长时间运行的任务时非常有用,因为它可以保持用户界面的流畅性和交互性。 请注意...

    易语言多线程执行任务例程

    在这个“易语言多线程执行任务例程”中,我们将深入探讨如何在易语言中利用多线程技术来提升程序的运行效率和并发能力。 多线程是现代计算机编程中的一个重要概念,它允许一个程序同时执行多个任务,从而充分利用...

    易语言多线程控制线程数量源码

    本篇将深入探讨易语言中如何实现多线程控制以及线程数量的管理。 在易语言中,线程用于在单个进程中同时执行多个独立的代码段,从而提高程序的执行效率。创建线程的基本步骤包括定义线程函数、创建线程对象和启动...

    C# 多线程控制实例

    总结来说,C#的多线程控制实例涉及创建线程、启动和停止线程、线程间的同步和通信,以及如何安全地管理线程。通过理解和熟练运用这些概念,开发者可以编写出高效、稳定的多线程程序。在实践中,要特别注意避免常见的...

    易语言完美多线程控制例子

    在这个“易语言完美多线程控制例子”中,我们将探讨如何在易语言中实现高效、稳定的多线程控制。 首先,我们需要了解多线程的基本概念。多线程是指在一个进程中同时执行多个线程,每个线程都独立于其他线程,有自己...

    深入浅出Win32多线程程序设计之线程控制

    《深入浅出Win32多线程程序设计之线程控制》是一本专注于Windows操作系统下多线程编程的教程,适合初学者和有一定基础的学习者。本书旨在通过深入讲解Win32 API,帮助读者理解并掌握如何在Windows环境中创建、管理和...

    java通过线程控制程序执行超时(新)

    总结起来,Java通过线程控制程序执行超时是通过结合线程机制、Future/Callable接口以及中断机制实现的。在设计和实现超时控制时,要考虑到基本数据类型和反射的应用,以满足各种复杂的需求。合理地使用这些工具,...

    C++多线程控制例子

    本示例基于Visual Studio 2008,实现了《C++编程艺术》一书中关于多线程控制的实例。下面将详细讲解C++多线程的概念、实现方式以及在VS2008中的应用。 **1. C++多线程概念** 多线程是操作系统中的一种并发执行模型...

    易语言多线程控制:信号量控制线程数量

    在IT行业中,多线程控制是一项重要的编程技术,特别是在处理并发任务时,它能有效利用系统资源,提高程序执行效率。易语言作为一款国产的、面向对象的编程语言,也提供了对多线程的支持。本篇文章将深入探讨易语言中...

    java 多线程 控制按钮移动 例子

    在【标题】"java 多线程 控制按钮移动 例子"中,提到的是使用多线程来实现GUI(图形用户界面)中的按钮动态移动,这通常涉及到事件处理和线程同步。 【描述】提到了多线程的概念,它允许并发执行多个指令流,每个...

    semaphore控制多线程循序执行

    本示例中,我们将深入探讨如何使用Semaphore来控制多线程的循序执行。 Semaphore是一种计数信号量,它可以有正整数值,用于管理多个线程对公共资源的访问。当信号量的值为正时,线程可以获取一个许可(或称资源),...

    C#多线程之线程控制详解

    C#多线程之线程控制详解 C#多线程之线程控制是指在C#编程语言中对多线程的控制和管理,主要包括线程的启动、停止、暂停和继续等操作。这种控制对线程的执行和管理起着至关重要的作用。 一、线程控制方法 在C#中,...

    多线程控制progressbar

    标题中的“多线程控制`ProgressBar`”指的是在程序执行耗时任务时,通过多线程技术在后台处理工作,同时主线程负责更新`ProgressBar`的状态,以显示任务的完成进度。这样做的好处在于,可以避免因为长时间阻塞主线程...

    多线程控制

    ### 多线程控制在按键精灵中的应用 #### 一、多线程基本概念与原理 多线程是计算机编程中的一个核心概念,它允许在一个程序中同时执行多个任务或子任务,从而提高程序的效率和响应性。在按键精灵(AutoIt)这样的...

    java多线程控制的赛跑程序

    这个“java多线程控制的赛跑程序”是一个示例,展示了如何利用多线程来模拟一场赛跑比赛。在这个程序中,每个参赛者(线程)都有自己的运行逻辑,通过线程的并发执行来模拟实际的赛跑过程。接下来,我们将深入探讨...

    多线程控制,线程池模式,HTTP线程

    首先,让我们从多线程控制开始。多线程是指在一个程序中同时执行多个独立的线程,每个线程都有自己的执行路径。这种方式可以充分利用CPU资源,提高程序的运行效率,特别是在I/O密集型任务中,一个线程等待I/O操作时...

    操作多线程删除数据库表,以及控制listbox多线程呈现

    在IT领域,多线程是一种常见且重要的编程技术,它允许多个任务同时执行,以提高程序的效率和响应性。在这个"操作多线程删除数据库表,以及控制listbox多线程呈现"的小程序中,我们将探讨如何利用多线程来处理数据库...

    多线程控制红绿灯变化

    在本场景中,“多线程控制红绿灯变化”是一个典型的并发编程问题,旨在模拟现实生活中交通信号灯的交替工作模式。这个系统设计通常涉及两个主要线程,一个负责控制红灯,另一个负责控制绿灯,它们需要按照特定的时间...

Global site tag (gtag.js) - Google Analytics