`
只是随手瞎打
  • 浏览: 28328 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

java多线程简单的小例子

 
阅读更多
java有两种方式实现多线程,一种是继承Thread类,一种实现Runnable接口。
package com.hgf.thread;

public class ExtThread extends Thread {
	private String name;

	public ExtThread(String name) {
		this.name = name;
	}

	public void run() {
		for (int i = 0; i < 10; i++) {
			System.out.println("线程开始:" + name + ",i=" + i);
		}
	}

	public static void main(String[] args) {
		ExtThread mt1 = new ExtThread("线程a");
		ExtThread mt2 = new ExtThread("线程b");
		//run 会先执行完线程a在执行线程b
		mt1.run();
		mt2.run();
	}
}


package com.hgf.thread;

public class ExtThread extends Thread {
	private String name;

	public ExtThread(String name) {
		this.name = name;
	}

	public void run() {
		for (int i = 0; i < 10; i++) {
			System.out.println("线程开始:" + name + ",i=" + i);
		}
	}

	public static void main(String[] args) {
		ExtThread mt1 = new ExtThread("线程a");
		ExtThread mt2 = new ExtThread("线程b");
		//start 会交叉运行
		mt1.start();
		mt2.start();
	}
}




package com.hgf.thread;

public class ImpRunnable implements Runnable {
    private String name;
	@Override
	public void run() {
		// TODO Auto-generated method stub
		for (int i = 0; i < 10; i++) {
			System.out.println("线程开始:" + name + ",i=" + i);
		}
	}
	public ImpRunnable(String name){
		this.name = name;
	}
	public static void main(String[] args) {
		ImpRunnable imp = new ImpRunnable("线程a");
		ImpRunnable imp2 = new ImpRunnable("线程b");
		new Thread(imp).start();
		new Thread(imp2).start();
	}

}

推荐使用实现Runnable接口,因为java单继承,但是可以实现多个接口,而且Runnable会使资源共享
package com.hgf.thread;

public class ThreadTicket extends Thread {
	private int ticket = 10;

	public void run() {
		for (int i = 0; i < 20; i++) {
			if (this.ticket > 0) {
				System.out.println("卖票:ticket" + ticket--);
			}
		}
	}
	public static void main(String[] args) {  
		ThreadTicket mt1=new ThreadTicket();  
		ThreadTicket mt2=new ThreadTicket();  
		ThreadTicket mt3=new ThreadTicket();  
		mt1.start();//每个线程都各卖了10张,共卖了30张票  
		mt2.start();//但实际只有10张票,每个线程都卖自己的票  
		mt3.start();//没有达到资源共享  
		}  
}



package com.hgf.thread;

public class ThreadTicket implements Runnable {
	private int ticket = 10;

	public void run() {
		for (int i = 0; i < 20; i++) {
			if (this.ticket > 0) {
				System.out.println("卖票:ticket" + ticket--);
			}
		}
	}

	public static void main(String[] args) {
		ThreadTicket mt=new ThreadTicket();  
		new Thread(mt).start();//同一个mt,但是在Thread中就不可以,如果用同一  个实例化对象mt,就会出现异常  
		new Thread(mt).start();
		new Thread(mt).start();  
	}
}



  • 大小: 7.8 KB
  • 大小: 8.5 KB
  • 大小: 5.7 KB
  • 大小: 4 KB
分享到:
评论

相关推荐

    java多线程的一个简单例子

    很简单的一个java多线程例子,希望多大家有帮助

    java 多线程小例子 很方便 很实用 适合初学者

    ### Java多线程小例子详解 #### 知识点一:基本多线程示例 在给定的代码示例中,我们首先看到的是一个简单的Java多线程应用实例。这个例子展示了如何创建并启动一个新的线程。在`ThreadDemo`类的`main`方法中,...

    Java多线程的小例子——吃包子

    这个名为"Java多线程的小例子——吃包子"的示例,旨在帮助开发者直观地理解多线程的工作原理。下面我们将深入探讨该示例所涉及的核心知识点。 首先,多线程通常涉及到以下几个关键概念: 1. **线程(Thread)**:...

    java一个多线程的经典例子

    根据提供的文件信息,我们可以归纳出以下关于Java多线程的经典示例中的关键知识点: ### Java多线程实现方式 在Java中,实现多线程有两种主要的方法:通过继承`Thread`类或者实现`Runnable`接口。 #### 继承...

    java多线程例子

    Java 多线程例子 Java 多线程是 Java 编程语言中的一种基本概念,它允许程序同时执行多个任务,从而提高程序的性能和效率。本文将通过三个实用的例子,讲解 Java 多线程的基本概念和使用方法。 第一个例子:创建多...

    java多线程经典例子

    在Java多线程编程中,理解如何创建和...总的来说,这个例子展示了Java多线程的基本操作,包括创建、启动、管理和通信。理解和掌握这些概念对于进行并发编程是至关重要的,可以帮助开发者构建高效、稳定的多线程应用。

    java多线程编程-详细炒作例子

    ### Java多线程编程详解与实战案例 #### 理解多线程概念与Java内存模型 多线程,作为现代编程中的一项关键技术,允许在单一应用程序中并发执行多个指令流,每个这样的指令流被称为一个线程。在Java中,线程被视为...

    java多线程经典案例

    Java多线程是Java编程中的重要概念,它允许程序同时执行多个任务,极大地提升了程序的效率和性能。在Java中,实现多线程有两种主要方式:通过实现Runnable接口或者继承Thread类。本案例将深入探讨Java多线程中的关键...

    Java线程的简单例子

    Java线程是Java编程中的重要概念,它允许程序同时...理解这些知识点对于编写高效、安全的多线程Java应用程序至关重要。在实践中,合理地利用线程和同步机制,能有效提升程序的性能,避免资源冲突,确保程序的稳定运行。

    java中线程的应用例子

    在Java编程语言中,线程是程序执行的基本单元,它允许程序同时执行多个任务。Java中的线程模型是建立在操作系统级别的线程之上的,因此,通过Java的线程机制,开发者可以充分利用多核处理器的资源,提高程序的并发性...

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

    总的来说,Java多线程提供了丰富的功能,包括线程的创建、启动、中断、同步以及异常处理等。通过合理利用这些工具,开发者可以构建出高效、稳定且响应迅速的多线程应用程序。在实际编程中,要特别注意线程安全和性能...

    JAVA单线程多线程

    1. **简化程序设计**:由于无需处理多线程间的竞争条件或死锁等问题,因此程序设计更加简单明了。 2. **易于调试**:单线程程序的调试相对容易,因为不存在多个线程之间复杂的交互情况。 3. **资源消耗少**:单线程...

    Java多线程 简单例子

    在本文中,我们将深入探讨Java多线程的基本概念,并通过一个简单的实例来理解其工作原理。 首先,我们需要了解Java中的线程是如何创建的。在Java中,有三种主要的方式来创建线程: 1. **实现Runnable接口**:这是...

    java多线程示例

    在Java编程语言中,多线程是核心特性之一,它允许程序同时执行多个任务,从而提高了应用程序的效率和响应...文档“java多线程实例.docx”可能包含具体的示例代码和详细解释,建议参考学习,以加深对Java多线程的理解。

    Java 多线程访问的经典例子.txt

    Java 多线程访问的经典例子,一个个代码 手动敲出,可以加深或理解 多线程访问 线程安全与同步的问题.

    Java多线程实现异步调用实例

    总之,Java多线程和异步调用是构建高效、响应迅速的应用程序的关键技术。通过合理利用这些工具和机制,开发者可以编写出能够充分利用多核处理器优势的代码,从而提高软件性能。在实际应用中,理解并熟练掌握这些概念...

    JAVA多线程的一个带UI界面的例子

    在Java编程中,多线程是一项关键特性,...总之,这个"JAVA多线程的一个带UI界面的例子"涵盖了Java多线程编程和GUI设计的核心概念,通过实际的代码示例,有助于开发者深入理解如何在实际应用中正确、高效地使用多线程。

    Java 多线程 订票 示例 线程安全

    现在,让我们来看一个简单的订票系统的Java多线程示例。假设我们有一个票务系统,其中的`TicketService`类包含一个`tickets`变量表示剩余票数: ```java public class TicketService { private int tickets = 100;...

    Java多线程实例代码

    Java多线程是Java编程中的重要概念,它允许程序同时执行多个任务,提高了程序的效率和响应性。在Java中,实现多线程有两种主要方式:通过继承`Thread`类和实现`Runnable`接口。 1. 继承Thread类: 当你需要创建一...

    java多线程例子(1).pdf

    java多线程例子(1).pdf java多线程例子(1).pdf java多线程例子(1).pdf

Global site tag (gtag.js) - Google Analytics