------- android培训、java培训、期待与您交流! ----------
进程:是一个正在执行的程序,每个进程都有一个执行顺序,该顺序是一个执行路径,或叫控制单元
线程:进程中独立的控制单元,线程控制进程执行。
一个进程中至少有一个线程
如何创建自定义线程
创建线程方法一:创建线程类
Java提供了对线程的描述,Thread类,创建线程类继承Thread类
步骤:
1,定义类继承Thread 类
2,复写run方法
3,调用start 方法,启动线程调用run 方法
class ThreadDemo extends Thread//第一步,继承Thread类
{
public void run()//第二步,复写run方法,
{
System.out.println("自定义线程run");
}
}
class ThreadTest
{
public static void main(String[] args)
{
ThreadDemo d=new ThreadDemo();//创建线程对象
d.start();//第三步,调用start方法启动线程调用run方法
}
}
创建线程方法二:实现Runnable 接口
步骤
1,定义类实现Runnable接口
2,覆盖Runnable接口中的run方法,将线程运行的代码放在run方法中
3,通过Thread类建立线程对象
4,将Runnable接口的子类对象作为实际参数传给Thread类的构造函数
5,调用Thread类中的start方法开启线程,调用Runnable子类的run方法
class Ticket implements Runnable//实现Runnable接口
{
private int tic=20;
public void run()//复写run方法
{
while(true)
{
if(tic>0)
{
System.out.println(Thread.currentThread().getName()+"...."+tic--);//获取当前对象的名称
}
}
}
}
class TicketTest
{
public static void main(String[] args)
{
Ticket t=new Ticket();//创建一个对象 传给线程,让多个线程使用一个对象(多个窗口共卖100张票)
Thread t1= new Thread(t);//将Runnable接口的子类对象传给Thread 类的构造函数
Thread t2= new Thread(t);
Thread t3= new Thread(t);
Thread t4= new Thread(t);
t1.start(); //调用Thread类中的start方法开启线程
t2.start();
t3.start();
t4.start();
}
}
获取线程对象名称:
线程有自己的默认名称Thread-0 ,Thread-1,
通过getName() 方法获取线程名称
static currentThread();
用来获取当前线程对象,(该函数时静态的可用类名直接调用)