多线程(一)
进程与线程
进程
一个进程就是一个执行中的程序,每一个进程的内部数据和状态都是完全独立。
是程序运行的基本单位。
线程
程序中单个唾弃的流控制称为线程。
多线程是指单个进程中可以运行多个不同的线程,执行不同的任务。
差别
线程是划分比进程更小的执行单位。
进程有专用的内存区域,线程只有共享内存单元。
继承Thread与继承Runnable的区别
class Thread1 extends Thread //继承Thread
{
public void run()
{
for(int i=0;i<100;i++)
System.out.println("Thread1 is running.");
}
}
class ThreadDemo
{
public static void main(String[] args)
{
Thread1 t=new Thread1();
t.start();
for(int i=0;i<100;i++)
{
System.out.println("main is running.");
}
}
}class Thread1 implements Runnable //继承Runnable
{
private int tickets=100;
public void run()
{
while(true)
if(tickets>0)
System.out.println(Thread.currentThread().getName()+" sale No."+tickets--);
}
}
class ThreadDemo
{
public static void main(String[] args)
{
Thread1 t=new Thread1();
new Thread(t).start();
new Thread(t).start();
new Thread(t).start();
}
}区别是继承Runnable可以创建多个线程共享资源。
后台线程
对于java而言,有一个前台在运行进程就不会结束,只有一个后台程序运行进程就会结束。
class Thread1 implements Runnable
{
public void run()
{
while(true)
{
System.out.println("Thread1 is running.");
}
}
}
class ThreadDemo
{
public static void main(String[] args)
{
Thread1 t=new Thread1();
Thread tt=new Thread(t);
tt.setDaemon(true); //设置后台线程
tt.start();
}
}

浙公网安备 33010602011771号