今天我们来看看java的多线程,其实大家不用觉得陌生,因为我们每天敲得java代码在mian方法里执行这就是一个线程,只不过大家没有意识到而已,如果大家不相信我们来看看下面这个睡眠的例子,程序会每隔一秒输出一句提示:
package com.oo.thread;
/**
* Main方法线程测试
* @author Administrator
*
*/
public class MainMethodThread {
public static void main(String[] args) throws Exception {
for(int i = 0; i<5; i++){
System.out.println("第"+(i+1)+"秒");
Thread.sleep(1000); //睡眠1秒
}
Thread thread = Thread.currentThread();
System.out.println("当前线程名:"+thread.getName());
}
}
输出结果:
第1秒
第2秒
第3秒
第4秒
第5秒
当前线程名:main
大家注意看看最后一句,足以说明mian方法执行就开启了一个名为main的线程。
好了,我们来具体看看java多线程。
实现一个线程的方式有两种:1.实现Runnable接口; 2.继承Thread类。 注意要覆盖run()方法。
下面是两个方式的简单例子:
方式一:实现Runnable接口
package com.oo.thread;
public class MyThread1 implements Runnable{
public void run() {
Thread thread = Thread.currentThread();
thread.setName("MyThread1");
System.out.println("当前线程名:"+thread.getName());
}
public static void main(String[] args) {
MyThread1 thread1 = new MyThread1();
Thread th = new Thread(thread1);
th.start();
}
}
方式二:继承Thread类
package com.oo.thread;
public class MyThread2 extends Thread {
public void run() {
Thread thread = Thread.currentThread();
thread.setName("MyThread2");
System.out.println("当前线程名:"+thread.getName());
}
public static void main(String[] args) {
MyThread2 thread2 = new MyThread2();
thread2.start();
}
}
1.就绪:线程对象调用start()方法启动线程,执行run()方法;
2.Thread状态:
睡眠:sleep(long ms); ----Thread类方法----线程进入睡眠状态,一定时间后自动醒来继续线程,它不会释放同步锁;
挂起:yield()---Thread类方法---线程开始挂起,释放同步锁;
等待:wait()---------线程进入等待状态,它不会自动激活,会释放同步锁,只有当我们调用notify()方法后才会唤醒等待状态线程;
阻塞:遇到IO类似的操作会进入阻塞状态。
死亡:run()方法执行完毕。
分享到:
相关推荐
《汪文君JAVA多线程编程实战》是一本专注于Java多线程编程的实战教程,由知名讲师汪文君倾力打造。这本书旨在帮助Java开发者深入理解和熟练掌握多线程编程技术,提升软件开发的效率和质量。在Java平台中,多线程是...
这份“JAVA多线程编程技术PDF”是学习和掌握这一领域的经典资料,涵盖了多线程的全部知识点。 首先,多线程的核心概念包括线程的创建与启动。在Java中,可以通过实现Runnable接口或继承Thread类来创建线程。创建后...
Java多线程编程实战指南(核心篇) 高清pdf带目录 随着现代处理器的生产工艺从提升处理器主频频率转向多核化,即在一块芯片上集成多个处理器内核(Core),多核处理器(Multicore Processor)离我们越来越近了――如今...
Java多线程编程是Java开发中的重要组成部分,它允许程序同时执行多个任务,极大地提高了程序的效率和响应性。在Java中,多线程主要通过继承Thread类或实现Runnable接口来实现。本教程将深入探讨Java多线程的各个方面...
Java多线程编程是Java开发中的重要组成部分,它允许程序同时执行多个任务,极大地提高了程序的效率和响应性。在Java中,多线程主要通过`Thread`类和并发工具来实现,接下来我们将深入探讨这些关键知识点。 1. **...
《Java多线程编程实战指南-核心篇》是一本深入探讨Java并发编程的书籍,旨在帮助读者掌握在Java环境中创建、管理和同步线程的核心技术。Java的多线程能力是其强大之处,使得开发者能够在同一时间执行多个任务,提高...
Java多线程编程是Java开发中的重要组成部分,它允许程序同时执行多个任务,极大地提高了程序的效率和响应性。在Java中,多线程主要通过继承Thread类或实现Runnable接口来实现。本教程《Java多线程编程核心技术》将...
《Java多线程编程实战指南》这本书深入浅出地讲解了Java多线程的核心概念和实战技巧,分为核心篇和设计模式篇,旨在帮助开发者掌握并应用多线程技术。 1. **线程基础** - **线程的创建**:Java提供了两种创建线程...
《Java多线程编程核心技术》建议猿友们读两遍,因为其写得没有那么抽象,第一遍有些概念不是很理解,可以先跳过并记录起来,第一遍阅读的目的主要是了解整个架构。第二遍再慢慢品味,并贯穿全部是指点来思考,并将...
这份“Java多线程编程指南”深入探讨了这一主题,为中级到高级的Java开发者提供了宝贵的资源。 首先,多线程的基础概念是理解整个主题的关键。线程是程序执行的最小单元,每个线程都有自己的程序计数器、虚拟机栈、...
《深入学习:Java多线程编程》是一本专注于Java并发技术的专业书籍,旨在帮助开发者深入理解和熟练运用Java中的多线程编程。Java多线程是Java编程中的核心部分,尤其在现代高性能应用和分布式系统中不可或缺。理解并...
本书“Java多线程编程实例”深入浅出地讲解了如何在Java环境中实现多线程操作,尽管出版时间较早,但其内容的经典性和实用性使其在现代开发中仍具有极高的参考价值。 首先,我们要理解Java中的线程是如何创建的。...
### Java多线程编程经验 #### 一、Java线程:概念与原理 现代操作系统都是多任务操作系统,其中多线程是一种重要的实现多任务的方式。线程是进程内的一个执行单位,一个进程可以包含多个线程。例如,在Java应用...
Java多线程编程是Java开发中的重要组成部分,它允许程序同时执行多个任务,提升系统效率。在Java中,实现多线程主要有两种方式:继承Thread类和实现Runnable接口。本资料"Java多线程编程核心技术.zip"深入探讨了这些...
《Java多线程编程实例》这本书深入浅出地探讨了Java中的多线程编程,通过丰富的实例帮助读者理解和掌握这一复杂主题。随书源码提供了实际操作的机会,以便读者能够亲手实践书中的示例,加深理解。 1. **线程创建...
从给定的文件信息中,我们可以提取出关于Java多线程编程的重要知识点,涉及线程创建、线程生命周期以及线程间的同步与通信等核心概念。 ### Java多线程编程实例解析 #### 1. 创建线程的方式 在Java中,创建线程有...
Java多线程编程是Java开发中的重要组成部分,它允许程序同时执行多个任务,极大地提高了程序的效率和响应性。在Java中,多线程可以通过实现Runnable接口或继承Thread类来创建。下面我们将深入探讨Java多线程编程的...
### Java多线程编程详解与实战案例 #### 理解多线程概念与Java内存模型 多线程,作为现代编程中的一项关键技术,允许在单一应用程序中并发执行多个指令流,每个这样的指令流被称为一个线程。在Java中,线程被视为...