Chinaunix首页 | 论坛 | 博客
  • 博客访问: 282734
  • 博文数量: 28
  • 博客积分: 11
  • 博客等级: 民兵
  • 技术积分: 895
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-19 19:50
个人简介

不畏浮云遮望眼,只缘身在最高层

文章分类

全部博文(28)

文章存档

2014年(1)

2013年(27)

分类: Java

2013-03-09 11:24:03


点击(此处)折叠或打开

  1. /*进程:是一个正在执行的程序,
  2.  * 每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元。
  3.  *
  4.  *线程:就是进程中的一个独立的控制单元
  5.  *    线程在控制着进程的执行
  6.  *一个进程中至少有一个线程
  7.  *
  8.  *Java VM 启动的时候会有一个进程java.exe
  9.  *该进程至少有一个线程负责java程序的执行
  10.  *而且这个线程运行的代码存在于main方法中
  11.  *该线程称之为主线程
  12.  *
  13.  *扩展:其实更细节说明jvm,jvm启动不止一个线程,还有负责垃圾回收机制的线程
  14.  *创建线程的第一种方式,继承Thread类
  15.  *步骤:
  16.  *1:定义类继承Thread
  17.  *2.复写Thread类的run方法
  18.  * 目的:将自定义的代码存储在run方法中,让线程运行
  19.  *3.条用线程的start方法
  20.  * 该方法两个作用,启动线程,调用run方法
  21.  *
  22.  *发现运行结果每一次都不同
  23.  *因为多线程都获取cpu的执行权,cpu执行到谁,谁就运行
  24.  *明确一点,在某一个时刻,只能有一个程序在运行。(多核除外)
  25.  *cpu在做快速的切换,以达到看上去是同时运行的效果
  26.  *我们可以形象把多线程的运行行为在互相抢夺cpu的执行权
  27.  
  28.  
  29.  多线程运行具有随机性的特点,谁先抢到,谁先执行,至于执行时间,cpu说了算*/

  30. class Demo extends Thread
  31. {
  32.     public Demo(String name)
  33.     {    
  34.         super(name);
  35.     }
  36.     public void run()
  37.     {
  38.         for(int i=0;i<60;i++)
  39.         System.out.println(this.getName()+".."+Thread.currentThread()+" run ok---"+i);
  40.         
  41.     }
  42. }

  43. public class ThreadTest {

  44.     public static void main(String[] args) {
  45.         
  46.         Demo demo=new Demo("one");
  47.         demo.start();
  48.         Demo demo1=new Demo("two");
  49.         demo1.start();
  50.   
  51.    }
  52.  }

阅读(1913) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~