多线程(一)


进程与线程

进程

一个进程就是一个执行中的程序,每一个进程的内部数据和状态都是完全独立。

是程序运行的基本单位。

线程

程序中单个唾弃的流控制称为线程。

多线程是指单个进程中可以运行多个不同的线程,执行不同的任务。

差别

线程是划分比进程更小的执行单位。

进程有专用的内存区域,线程只有共享内存单元。




继承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();
	}
}



posted @ 2014-05-19 23:06  lisisong  阅读(151)  评论(0编辑  收藏  举报