标签:
一.概念

1.进程
进程是一个独立运行的程序,一个进程里可以包含多个线程。
2.线程
线程是进程中的执行流程,多线程就是多个并发执行的线程。
一个线程则是进程中的执行流程,一个进程中可以同时包括多个线程,每个线程也可以得到一小段程序的执行时间,这样一个进程就可以具有多个并发执行的线程。在单线程中,程序代码按调用顺序依次往下执行,如果需要―个进程同时完成多段代码的操作,就需要产生多线程。
如图为Windows操作系统的执行模式:

二.实现线程的两种方式
在Java中主要提供了两种方式实现线程,分别为继承java.lang.Thread类与实现java.lang.Runnable接口。
1.继承Thread

注意:启动一个新的线程,不是直接调用Thread子类对象的run()方法,而是调用Thread子类的start()方法,Thread类的start()方法产生一个新的线程,该线程运行Thread子类的run()方法。
线程代码演示:

package com.hanqi.thread;
//支持多线程
//1.继承Thread
//2.覆盖run方法
public class TestThread1 extends Thread{
//重写
public void run()
{
for(int i=0;i<10;i++)
{
System.out.println(i);
try
{
//线程的休眠方法(毫秒)
Thread.sleep(1000);
}
catch (InterruptedException e)
{
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
}

package com.hanqi.thread;
public class TestThread2 implements Runnable{
@Override
public void run() {
for(int i=0;i<10;i++)
{
System.out.println(i);
try
{
//线程的休眠方法(毫秒)
Thread.sleep(1000);
}
catch (InterruptedException e)
{
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
}

package com.hanqi.thread;
public class Test1 {
public static void main(String[] args) {
// for(int i=0;i<10;i++)
// {
// System.out.println(i);
//
// try
// {
// //线程的休眠方法(毫秒)
// Thread.sleep(1000);
// }
// catch (InterruptedException e)
// {
// // TODO 自动生成的 catch 块
// e.printStackTrace();
// }
// }
TestThread1 tt1=new TestThread1();
//启动多线程
tt1.start();
TestThread1 tt2=new TestThread1();
//启动多线程
tt2.start();
//启动实现接口方式的多线程
Thread t3=new Thread(new TestThread2());
t3.start();
}
}



标签:
原文地址:http://www.cnblogs.com/panyiquan/p/5281873.html