程序是由若干条语句组成的语句序列,是一段静态代码。进程是程序的一次动态执行过程。一个线程是一个程序内部的顺序执行控制流。程序、进程、线程和多线程main(Stringargs[]){….aa();….}aa(){…bb();…}bb(){……..}单线程Publicvoidrun();….….….….….….}一个线程(或执行上下文)由三个主要部分组成l 一个虚拟CPUl CPU执行的代码l 代码操作的数据多线程:在同一应用程序中,有多个顺序流同时执行。线程和进程多进程:在操作系统中,能同时运行多个程序(任务)。多线程:在同一应用程序中,有多个顺序流同时执行。每个进程都有独立的代码和数据空间(进程上下文),进程切换的开销大。线程:轻量的进程,同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换的开销小。线程的概念模型虚拟的CPU,。CPU所执行的代码,传递给Thread类。CPU所处理的数据,传递给Thread类。。每个线程都是通过某个特定Thread对象的方法run()来完成其操作的,方法run()称为线程体。线程的状态(四态)创建状态(newThread) ThreadmyThread=newMyThreadClass();可运行状态(Runnable) ThreadmyThread=newMyThreadClass(); ();不可运行状态(NotRunnable) 调用了sleep()方法; 调用了suspend()方法; 为等候一个条件变量,线程调用wait()方法; 输入输出流中发生线程阻塞;死亡状态(Dead) 线程的终止一般可通过两种方法实现:自然撤消(线程执行完)或是被停止(调用stop()方法)。线程体的构造publicThread(ThreadGroupgroup,Runnabletarget,Stringname);任何实现接口Runnable的对象都可以作为一个线程的目标对象;
Java编程 第七章PPT课件 来自淘豆网m.daumloan.com转载请标明出处.