/**
* Created by lenovo on 2016/3/19.
* 进程:
* 线程:就是进程中的一个负责程序执行的控制单元 (执行路径)
* 一个进程中可以有多个执行路径 称之为多线程 *
* 一个进程中至少有一个线程(执行一段代码)
* 开启多个线程是为了同时运行多个代码(每个线程都有自己的运行内容 这个内容可以称为多线程要执行的任务) *
* 好处:解决了部分同时运行的问题 * 弊端:线程太多会导致效率降低 *
* 其实应用程序的执行都是cpu在做着快速的切换实现的 这个切换是随机的 *
* JVM在启动时会启动多个线程 至少两个线程可以分析出来
* 1. 执行main函数的线程 该线程的任务代码都定义在main函数中
* 2. 负责垃圾回收的线程 */
class Demo extends Thread{
private String name;
Demo(String name){
super(name);//起自己喜欢的名字
//this.name=name;//被赋予的名字
}
public void run()
{
for(int i=0;i<10;i++)
{
for (int k=0;k<10000;k++){} System.out.println(name+"....x="+i+".....name="+Thread.currentThread().getName());//获得当前运行线程的名字
}
}
}
public class ThreadDemo {
public static void main(String[] args) {
Demo d1 = new Demo("aaaaaaa");
Demo d2 = new Demo("qqq");
d1.start();
d2.start();
//System.out.println(4/0);
for (int m = 0; m < 20; m++) {
System.out.println("hello" + "......name=" + Thread.currentThread().getName()); }
}
}
/** 如何创建一个线程?
* 方式一
* 步骤:
* 1.创建一个线程 为了开启一条执行路径 去运行指定的代码和其他代码实现同时运行* 而运行的代码就是这个执行路径的任务
* 2。重写run()方法
* 3.* 原因:* JVM创建的主线程的任务都定义在主函数中 * 而自定义的线程定义在那里?
* Thread类用于描述线程 线程是需要任务的 所以Thread也是对任务的描述* 这个任务就通过Thread类中的方法来体现的 也就是说 run方法就是封装自定义线程运行任务的函数* run方法中定义就是线程要运行的任务代码** 开启线程是为了运行指定代码 所以只有继Thread类 并复写run方法* 将运行的代码定义在run方法中即可** http://www.cnblogs.com/riskyer/p/3263032.html* */