`

Java之线程入门

    博客分类:
  • Java
阅读更多
参考资料
1 Java线程:概念与原理
http://lavasoft.blog.51cto.com/62575/99150
2 Java 程序中的多线程
http://www.ibm.com/developerworks/cn/java/multithreading/
网上参考了很多资料,感觉不系统呀,还是自己写吧
1 进程
现在几乎每种操作系统都支持进程的概念 —— 进程就是在某种程度上相互隔离的、独立运行的程序,Windows为例,在任务管理器中你可查看到当前操作系统中各个进程的使用情况,如下:

其中你所看到:java.exe,qq.exe都是一个进程,进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程.
2 线程
线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,进程中的多个线程共享进程的内存。其实你在不知不觉之中已经使用到了java的线程.如 AW T (抽象窗口工具箱 Abstract W i ndow i ng Tool ki t) )或 Sw i ng UI 工具箱、servl et 容器、应用程序服务器和 RM I(远程方法调用(Rem ote M ethod Invocati on)).
3 创建线程
在java创建线程有二种方式,继承Thread类或者实现Runnable 接口.
示例A 继承Thread类
public class MyThread extends Thread {
	
	@Override
	public void run() {
		System.out.println("咫尺天涯的第一个线程(Thread)启动了。。。");
	}

}

public class Main {
	
	public static void main(String[] args) {
	
		MyThread myThread = new MyThread();
		myThread.start();
		
	}
}

注意事项:因为它继承了Thread类,它就已经有了启动线程的方法,start(),你要做的事情放到run()方法里面去.
它有一个不好的地方是:你也可以不@Override,也行,那么就是什么事情也做不了
示例B 实现Runnable接口
public class MyRunnable implements Runnable {

	@Override
	public void run() {
		System.out.println("咫尺天涯的第一个线程(Runnable)启动了。。。");

	}
}

public class Main {
	
	public static void main(String[] args) {
		
		MyRunnable myRunnable = new MyRunnable();
		//myRunnable.start();此处编译报错,没有这个方法:start		
	}
}

注意事项:你的子类实现了Runnable接口,就没有启动线程的方法,也因为这样大家觉得直接继承Thread类会方便很多,在实际运用中,推荐大家使用实现Runnable接口来使用线程,因为它更具有面向对象的思想。如何启动呢,请看下面!
public class Main {
	
	public static void main(String[] args) {		
		
		MyThread myThread = new MyThread();
		Thread thread = new Thread(myThread);
		thread.start();
		
		MyRunnable myRunnable = new MyRunnable();		
		Thread runnable = new Thread(myRunnable);
		runnable.start();
		
	}
}

总结如下:它使用是是传递一个线程对象的方式给Thread类,实现启动线程.启动线程的方法是:start(),用户真正想要做的事情放到run()方法中去执行.
  • 大小: 66.2 KB
分享到:
评论
1 楼 shijinming 2011-11-07  

相关推荐

    java线程入门级书籍

    ### Java线程入门知识点详解 #### 一、Java线程基础知识概述 **1.1 什么是线程?** 线程是程序执行流的最小单元,是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。在Java中...

    Java多线程入门介绍.pdf

    ### Java多线程入门知识点详解 #### 一、引言 多线程是现代软件开发中的重要技术之一,尤其在Java编程语言中占有极其重要的地位。对于任何一位Java程序员而言,掌握多线程的基本概念和技术是非常必要的。本文将...

    java多线程入门

    Java多线程是Java编程中的核心概念...通过阅读《Java线程入门.pdf》这样的学习资料,结合实际编程实践,可以逐步掌握这门技术。在学习过程中,参考《E书说明.txt》中的指导,可以更好地利用提供的资源,加速学习进程。

    java线程入门,java线程入门

    以下是对Java线程入门的详细讲解: 1. **线程的基本概念**: - 线程是操作系统分配CPU时间的基本单元,一个进程可以包含一个或多个线程。 - 在Java中,每个应用程序至少有一个主线程,它负责启动和控制其他线程。...

    JAVA多线程入门教程

    本文将从进程、线程的基本概念、Java中的多线程支持以及如何创建和控制线程等方面,为你提供一个入门级别的教程。 1. 进程与线程: - **程序**是静态的代码集合,而**进程**是程序的一次动态执行过程,它是操作...

    java线程入门

    Java线程是多任务编程的重要概念,特别是在Java这种支持并发执行的编程语言中。线程允许程序中的不同部分并行运行,从而提高了程序的效率和响应性。在Java中,线程可以分为两种类型:用户线程(由应用程序创建)和...

    Java线程入门,学习Java线程的好帮手

    Java线程入门,学习Java线程的好帮手

    java线程入门 Java线程编程很好的入门书

    本文将基于提供的"Java线程入门"资料,深入探讨Java线程编程的基本概念、创建方法以及常见操作,帮助初学者建立起扎实的线程知识体系。 一、线程基础 1. 线程定义:线程是操作系统分配CPU时间的基本单元,一个进程...

    Java 多线程编程入门到精通源代码.zip

    尤其适合于没有 Java 线程开发经验的朋友。自己动手敲出本资源解压缩后的 chapter02 到 chanpter18,并运行,用心体会一下。也许在运行完 chapter18 的源码之后,你已经是一个对线程有着深刻理解的线程编程高手了! ...

    Java线程入门

    ### Java线程入门知识点详解 #### 一、Java线程概览 - **目标读者**:本教程面向那些已经熟练掌握Java语言基本应用但对多线程编程尚不熟悉的程序员。 - **主要内容**:本教程将从零开始介绍Java线程的基础知识,...

    java线程入门,一本简绍java线程的书

    本书《Java线程入门》显然为初学者提供了一个良好的起点,适合对编程有一定了解的人群。书中可能涵盖了以下几个核心知识点: 1. **线程的概念与分类**:介绍什么是线程,线程如何在操作系统中运行,以及Java中线程...

    JAVA多线程入门基础知识

    必知必会的多线程入门基础知识

    java多线程入门的源代码

    Java线程有五种状态:新建、就绪、运行、阻塞和死亡。通过`Thread.State`枚举可以获取线程当前状态。线程控制包括:`sleep()`使线程暂停指定时间,`join()`等待其他线程结束,`yield()`让当前线程暂停让其他线程有...

    Java线程入门大全

    ### Java线程入门大全知识点详解 #### 一、线程基础概述 - **定义与特点:** - **线程**是一种比进程更细粒度的执行单元,它允许在一个进程中并发执行多个任务。 - **多线程**能够提高程序的效率和响应速度,...

    最新java线程入门讲解

    本教程将深入浅出地介绍Java线程的基础知识,帮助初学者快速入门。 一、线程的创建 1. 继承Thread类:创建一个新的类,该类继承自Thread类,然后重写其run()方法。实例化这个子类对象后,调用start()方法即可启动...

    java多线程的入门程序

    在这个入门程序中,我们将探讨Java如何创建和管理线程,以及多线程编程的基本原理。 首先,让我们理解什么是线程。线程是操作系统分配处理器时间的基本单元,每个线程都有自己的程序计数器、系统栈和局部变量。在一...

    java线程基础入门

    java 线程基础入门 一个关于计算机的简化的视图是:它有一个执行计算的处理机、包含处理机所执行的程序的ROM(只读存储器)、包含程序所要操作的数据的RAM(只读存储器)。在这个简化视图中,只能执行一个作业。一个...

    Java多线程编程及入门

    ### Java多线程编程及入门知识点详解 #### 一、多线程基础知识 **1.1 什么是线程?** 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。一个进程可以拥有多个线程,每个...

Global site tag (gtag.js) - Google Analytics