今天我们来看看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多线程编程实战指南(核心篇) 高清pdf带目录 随着现代处理器的生产工艺从提升处理器主频频率转向多核化,即在一块芯片上集成多个处理器内核(Core),多核处理器(Multicore Processor)离我们越来越近了――如今...
java多线程编程,十分详细地讲解java多线程编程技术,视频教程
《Java多线程编程核心技术》建议猿友们读两遍,因为其写得没有那么抽象,第一遍有些概念不是很理解,可以先跳过并记录起来,第一遍阅读的目的主要是了解整个架构。第二遍再慢慢品味,并贯穿全部是指点来思考,并将...
Java 高并发编程相关知识, 接下来将阅读该书, 并且进行比较详细的总结, 好记性不如烂笔头, 加油。 Java 多线程编程实战指南。
JAVA多线程编程技术PDF,是最经典的那个版本,多线程的所有知识点完爆读者
现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。 线程是指进程中的一个执行流程,一个进程中可以运行多个线程。...本文档提供Java多线程编程经验,方便广大Java爱好者研究学习Java多线程
汪文君JAVA多线程编程实战(完整不加密)。 汪文君JAVA多线程编程实战(完整不加密),连接挂了留言, 我补 java 汪文君 多线程 视频教程 实战。
java多线程编程实例 java多线程编程实例 (源程序)
Java多线程编程Java多线程编程Java多线程编程Java多线程编程Java多线程编程Java多线程编程
java多线程编程指南,一个比较高级和深入的java编程学习资料。
《Java多线程编程实例》随书源码《Java多线程编程实例》随书源码《Java多线程编程实例》随书源码
JAVA多线程编程技术探讨,深入JAVA多线程编程技术的基础
包括java的Thread类,同步块(synchronized),可重入锁,Object方法以及对象监视器等内容。
Java多线程编程核心技术和源码
java多线程编程实例
Java多线程编程,生命游戏,用线程池.zipJava多线程编程,生命游戏,用线程池.zip Java多线程编程,生命游戏,用线程池.zipJava多线程编程,生命游戏,用线程池.zip Java多线程编程,生命游戏,用线程池.zipJava多...
JAVA 多线程编程