Java核心学问(十一)-多线程技术的创建

Java核心知识(十一)---多线程技术的创建
Java核心知识(十一)--多线程的创建
                                                              -----王利华2012-5
几个要点:
什么是线程:就是进程的一部分,一个进程由一个或多个线程组成。
进程:俗称程序的运行的进度。


创建线程有两种方法
(1)首先继承Thread类,再复写run方法,最后调用start方法
     //创建一个子类继承Thread
     class MyThread extends Thread
     {
public void run()  //复写run 方法
{
for(int x=0;x<100:x++)
System.out.println("线程创建"+x);
}
     }
class ThreadDemo
{
public static void main(String [] args)
{
MyThread th=new MyThread();
th.start();//调用start方法---实际上是start调用了run方法。
for(int x=0;x<100;x++)
{
System.out.println("main线程"+x);
}
}
}


为什么要重写run方法:因为run方法内是线程要执行的代码
线程的几种状态:被创建—>start、sleep(time)、wait()、notify()、stop()
特殊状态:阻塞状态(临时状态)---等待执行权。
重要方法:getName()获取线程的名称,默认名称的格式:Thread—编号
//标准通用方式:Thread.currentThread().getName()
//设置名称,可以setName()或则构造函数
class MyThread extends Thread
{
private String name;
MyThread(String name)
{
super(name);
}
public void run()
{
for(int x=0;x<60;x++)
System.out.println(this.getName()+"创建好一个线程"+name+"..."+x);
//System.out.println(Thread.currentThread().getName()+"创建好一个线程");
}
}
public class 线程2
{
public static void main(String []args)
{
MyThread th=new MyThread("th");
MyThread mTh=new MyThread("mTh");
th.start();//调用start方法,start调用run方法,开启线程
//*****************th.run();调用run方法,是主线程执行,没有开启线程*******
mTh.start();
for(int x=0;x<60;x++)
System.out.println("hello"+x);
}
}

(2)步骤:
     实现Runnable接口;重写Run方法;创建自定义类的对象,将对象传给Thread类构造的对象,调用start方法。
     Class MyThread implements Runnable
{
Public void run()
{
For(int x=0;x<100;x++)
System.out.println(“线程执行的代码”+x);
}
}
Class Demo
{
Punlic  static void main(String [] args)
{
MyThread myTh=new MyThread();
Thread thOne=new Thread(myTh);
Thread thTow=new Thread(myTh);
thOne.start();
thTow.start();
}
}