`
BBjava
  • 浏览: 125476 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java多线程基础1

阅读更多
关键词:Runnable,Thread,start,run等等。
创建一个线程的两种方式:
一是继承Thread类
package org.iteye.bbjava.mutilthread;

public class MainThread extends Thread{
	Integer maxInt=0;
	
	public void run(){
//		maxInt=new Integer("123");
		while(maxInt<1000){
			maxInt++;
			if(maxInt%6==0)
//				try {
//					Thread.sleep(10);
//				} catch (InterruptedException e) {
//					// TODO Auto-generated catch block
//					e.printStackTrace();
//				}
			System.out.println(maxInt);	
		}

//		System.out.println(maxInt.MAX_VALUE);System.out.println(maxInt);
//		System.out.println(maxInt.MIN_VALUE);
	}
	
	public static void main(String []args){
		Thread aTread=new MainThread();
		Thread at=new Thread(new AnotherThread());
		aTread.start();
		at.start();
	}
}

二是实现Runnable接口:
package org.iteye.bbjava.mutilthread;

public class AnotherThread implements Runnable{

	@Override
	public void run() {
		int i=0;
		while(i<1000){
			i++;
			if(i%5==0)
//				try {
//					//Thread.sleep(10);
//				} catch (InterruptedException e) {
//					// TODO Auto-generated catch block
//					e.printStackTrace();
//				}
			System.out.println("what should I do?");}
	}
}


没错,java中创建线程就是这么简单,注意:启动线程是start()方法。有些新手可能会犯这个的错误:
引用
Thread aTread=new MainThread();
aThread.run();//这不是启动线程的"钥匙"。

还有就是实现Runnable接口的线程是这样子启动的:
引用
Thread at=new Thread(new AnotherThread());
at.start();

引用
tij-4的作者觉得把Thread改名字为Task更为合适。



为什么有了第一种方式,还要有第二种方式呢?

java里面是没有多继承的,但它可以实现多个接口。比如说你用继承的方式创建线程会碰到这种麻烦,一些特殊要求一定要继承一个基类,这下麻烦了;所以你有第二个选择,那就是采用实现Runnable方式创建线程,现在可以继承那个基类了。
分享到:
评论

相关推荐

    java多线程设计

    一、Java多线程基础 1. 线程的创建:Java提供了两种创建线程的方式——继承Thread类和实现Runnable接口。继承Thread类可以直接创建一个新的线程类,而实现Runnable接口则可以将线程逻辑封装在任何类中,更利于代码...

    java多线程示例

    一、Java多线程基础 1. 创建线程: - 继承Thread类:创建一个新的类,继承自Thread类,重写其run()方法,然后创建该类的实例并调用start()方法。 - 实现Runnable接口:创建一个实现了Runnable接口的类,实现run()...

    java多线程作业.docx

    #### 二、Java多线程基础 1. **线程创建**: - 继承`Thread`类。 - 实现`Runnable`接口。 2. **线程调度**: - 线程调度是由操作系统完成的,Java虚拟机通过与操作系统交互来管理线程的执行。 - Java中线程...

    Java多线程编程实战指南 设计模式篇.rar

    一、Java多线程基础 1. 线程创建:Java提供了两种创建线程的方式,一是通过实现Runnable接口,二是继承Thread类。两者各有优缺点,Runnable适合资源复用,而Thread类则直接继承了Java对象,操作更直接。 2. 线程控制...

    java 多线程操作数据库

    1. **多线程基础**:多线程是Java编程中的一个重要概念,允许程序同时执行多个任务。在本示例中,通过创建多个`Thread`对象并调用它们的`run()`方法来实现并行处理数据库操作。 2. **数据库连接管理**:在多线程...

    黑马程序员_张孝祥_Java多线程与并发库 视频+代码+资料

    ### Java多线程基础 1. **线程的概念**:在Java中,线程是程序执行流的基本单元。一个标准的Java应用程序至少有一个线程,即主(main)线程。通过创建多个线程,可以实现并发执行,提高程序的运行效率。 2. **创建...

    Java多线程知识点总结

    总之,掌握Java多线程的生命周期、创建、启动、同步以及线程池的使用是编写高效、稳定并发程序的基础。理解这些知识点对于解决并发编程中的问题,比如资源竞争、死锁、线程安全性等问题,至关重要。在实际开发中,...

    java多线程经典案例

    通过分析并实践`threadTest`案例,我们可以深入理解Java多线程的原理和使用技巧,为编写高效并发程序打下坚实基础。同时,也要注意多线程编程中的死锁、活锁和饥饿等问题,合理设计线程间的交互,避免出现不可预期的...

    java多线程分页查询

    ### Java多线程分页查询知识点详解 #### 一、背景与需求分析 在实际的软件开发过程中,尤其是在处理大量数据时,如何高效地进行数据查询成为了一个关键问题。例如,在一个用户众多的社交平台上,当用户需要查看...

    java多线程处理数据库数据

    首先,我们需要了解Java中的线程基础。线程是程序执行的最小单位,一个进程可以包含多个线程。在Java中,我们可以使用`Thread`类或者`Runnable`接口来创建线程。然而,为了更好地管理和控制线程,Java并发包提供了如...

    Java多线程知识,龙果学院

    一、Java多线程基础 1. **线程的概念**:线程是程序执行的最小单元,一个进程可以有多个线程同时执行,使得程序能够并行处理多个任务。 2. **线程的创建方式**:Java提供了两种创建线程的方式,一是继承Thread类,...

    JAVAJAVA多线程教学演示系统论文

    1. **多线程基础**:论文可能会首先介绍多线程的基本概念,解释为什么在JAVA中需要使用多线程,以及多线程如何提升程序的执行效率。这部分内容可能会涉及到线程的创建、启动、同步和通信等基础知识。 2. **JAVA多...

    汪文君JAVA多线程编程实战(完整不加密)

    《汪文君JAVA多线程编程实战》是一本专注于Java多线程编程的实战教程,由知名讲师汪文君倾力打造。这本书旨在帮助Java开发者深入理解和熟练掌握多线程编程技术,提升软件开发的效率和质量。在Java平台中,多线程是...

    java多线程基础说课PPT教案.pptx

    java多线程基础说课PPT教案.pptx

    Java多线程机制(讲述java里面与多线程有关的函数)

    Java多线程机制是Java编程中至关重要的一部分,它允许程序同时执行多个任务,提升应用程序的效率和响应性。以下是对各个知识点的详细说明: 9.1 Java中的线程: Java程序中的线程是在操作系统级别的线程基础上进行...

    java 多线程编程实战指南(核心 + 设计模式 完整版)

    1. **线程基础** - **线程的创建**:Java提供了两种创建线程的方式,一是通过实现`Runnable`接口,二是继承`Thread`类。每种方式都有其适用场景,需要根据实际需求选择。 - **生命周期**:线程有新建、就绪、运行...

    JAVA零基础到高级进阶特训营 JAVA多线程并发设计+Spring高级+数据库开发+JAVA基础等

    这套课程既可以作为从零基础开始...课程的主要内容涉及有JAVA基础课程、JAVA多线程与并发编程、数据库开发基础和进阶、Spring Framework、Spring进阶、Spring MVC框架、Spring boot、Java常用类库、Java异常处理等等

    JAVA多线程基础演练DEMO

    这个"JAVA多线程基础演练DEMO"提供了一些基础示例,帮助开发者更好地理解和掌握多线程的基本概念和用法。以下将详细讲解Java多线程的相关知识点: 1. **线程的创建** - **继承Thread类**:创建一个新类,继承自`...

    武汉理工大学Java多线程实验源码

    总结来说,这个实验源码涵盖了Java多线程的基础和应用,包括线程的创建、运行、同步、通信,以及网络编程和数据库操作。通过这些实验,学生可以深入理解Java并发编程的核心概念,并掌握实际开发中的多线程设计技巧。

Global site tag (gtag.js) - Google Analytics