该【面向对象程序设计第10章 】是由【小落意】上传分享,文档一共【21】页,该文档可以免费在线阅读,需要了解更多关于【面向对象程序设计第10章 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。面向对象程序设计第10章
线程的定义
进程是一个用来描述处于动态运行状态的应用程序的概念,即一个进程就是一个执行中的程序,每个进程都有一块自己独立的地址空间,并可以包含多个线程。这些线程将共享进程的地址空间及操作系统分配给这个进程的资源。
线程是指进程中的一个执行流,多线程是指在一个进程中同时运行多个不同线程,每个线程分别执行不同的任务。
创建线程的两种方法:
利用Thread类创建线程
利用Runnable接口创建线程
1、利用Thread类创建线程
使用这种方式创建、启动线程的基本过程:
声明一个Thread类的子类,并且覆盖其中的run()成员方法,并将线程执行的程序代码写在其中。
使用时通过调用Thread类提供的start()方法间接地使用它。
例:利用Thread类创建线程
publicclassMyThread_1extendsThread
{
publicvoidrun()
{
……
}
}
publicclassMultiThread_1
{
publicstaticvoidmain(Stringargs[])
{
Threadt1=newMyThread_1();
("T1");
Threadt2=newMyThread_1();
("T2");
();
();
}
}
2、利用Runnable接口创建线程
使用这种方式创建、启动线程的基本过程:
声明一个实现Runnable接口的类。
以实现Runnable接口的类对象为参数创建一个Thread类对象。
调用Thread类对象的start()方法启动线程。
例:利用Runnable接口创建线程
publicclassMyThread_2implementsRunnable
{
…
publicvoidrun()
{
……
}
}
publicclassMultiThread_2
{
publicstaticvoidmain(Stringargs[])
{
MyThread_2thread=newMyThread_2();
ThreadthreadObj=newThread(thread);
();
}
}
一个线程的生命周期中,有四个状态,线程就是在这4个状态之间不断变换,直到死亡为止。
线程的优先级
每一个线程都有一个优先级,在Thread类中有3个常量MIN_PRIORITY、MAX_PRIORITY、NORMAL_PRIORITY分别表示优先级为1、10和5,它们代表最低优先级、最高优先级和普通优先级。
可以调用Thread类的setPriority(intlevel)成员方法为某个线程设置优先级。
例如,假设threadObj是一个Thread类对象,(6);设置优先级。
例:模拟银行中的存款、取款-1
publicclassAccount
{
privateStringname;
privatefloatamount;
publicsynchronizedvoiddeposit(floatamt)
{
floattmp=amount;
tmp+=amt;
try{
(1);
}catch(InterruptedExceptione){}
amount=tmp;
}
publicfloatgetBalance()
{
returnamount;
}
面向对象程序设计第10章 来自淘豆网m.daumloan.com转载请标明出处.