码迷,mamicode.com
首页 > 编程语言 > 详细

Java——多线程

时间:2014-06-18 19:20:49      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   java   http   

bubuko.com,布布扣

进程:

是指运行中的应用程序,每个进程都有自己独立的地址空间(内存空间)

线程:

  1. 线程是轻量级的进程
  2. 县城没有独立的地址空间(内存空间)
  3. 线程是由进程创建的(寄生在进程中)
  4. 一个进程可以拥有多个线程——多线程编程
  5. 线程的五种状态:新建状态new、就绪状态Runnable、运行状态Running、阻塞状态Blocking、死亡状态Dead

bubuko.com,布布扣

多线程:

就是程序同时完成多件事情,Java语言提供了并发机制,程序员可以在程序中执行多个线程,每一个线程完成一个功能,并与其他线程并发执行,这种机制被称为多线程。

实现线程的两种方式:

1、继承Thread类,并重写run函数

 案例01:创建ThreadTest类,实现从10到1的逐个输出。

 1 public class ThreadTest extends Thread{
 2     private int count = 10;
 3     public void run() {
 4         while(true){
 5             System.out.println(count+"");
 6             if(--count==0){
 7                 return;
 8             }
 9         }
10     }    
11     public static void main(String[] args) {
12         new ThreadTest().start();               
13     }
14 }

 

完成线程正真功能的代码放在run()方法中,在main 方法中,执行线程需要调用Thread类中的start方法,start方法调用被覆盖的run()方法,如果不调用start()方法,线程永远都不会启动,在主方法没有调用start方法之前,Thread对象只是一个实例,而不是一个真正的线程。执行结果如下:

bubuko.com,布布扣 

2、实现Runnable接口,并重写run函数

如果程序员要实现其他类,还要使当前类实现多线程,可以通过Runnable接口来实现,使用Runnable接口启动新线程的步骤如下:

  • 建立Runnable对象
  • 使用参数为Runnable对象的构造方法创建Thread实例
  • 调用start()方法启动线程

案例02:创建Demo01类,实现每隔一秒输出一个“heloworld”,输出10次停止运行。

 1 public class Demo01 {
 2 
 3     public static void main(String[] args) {
 4         //启动线程
 5         Dog dog=new Dog();
 6         Thread t=new Thread(dog);
 7         t.start();
 8     }
 9 
10 }
11 class Dog implements Runnable{
12     int times=0;
13     public void run(){
14         while(true){
15             try {
16                 Thread.sleep(1000);     //休眠1秒,这里用1000毫秒表示
17             } catch (Exception e) {
18                 e.printStackTrace();
19             }
20             times++;
21             System.out.println("hello world"+" "+times);
22             if(times==10){
23                 break;
24             }
25         }
26     }
27 }

 

 运行结果:

bubuko.com,布布扣

 

 

 

 

 

 

 

 

 

 

 

 

 

Java——多线程,布布扣,bubuko.com

Java——多线程

标签:style   class   blog   code   java   http   

原文地址:http://www.cnblogs.com/charmingyj/p/3790668.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!