- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第14章 多线程精要
1;回顾: JAVA的集合框架;集合类的作用;集合类的特点;集合类特点二:
集合类容纳的对象都是Object类的实例,一旦把一个对象置入集合类中,它的类信息将丢失,这样设计的目的是为了集合类的通用性。
因为Object类是所有类的祖先,所以可以在这些集合中存放任何类的对象而不受限制,但是切记在使用集合成员之前必须对它重新造型。;新旧集合类;JDK1.2以后版本中的集合类接口;集合框架中的接口;JDK1.2以后版本中的集合类;第14章 多线程;程序是一段静态的代码,它是应用程序执行的蓝本。
进程是程序的一次动态执行,它对应了从代码加载、执行至执行完毕的一个完整过程。
操作系统为每个进程分配一段独立的内存空间和系统资源,包括:代码数据以及堆栈等资源。每一个进程的内部数据和状态都是完全独立的。
多任务操作系统中,进程切换对CPU资源消耗较大。;多线程;多线程是进程执行过程中产生的多条执行线索。
线程是比进程执行更小的单位。
线程不能独立存在,必须存在于进程中,同一进程的各线程间共享进程空间的数据。
每个线程有它自身的产生、存在和消亡的过程,也是一个动态的概念。
多线程意味着一个程序的多行语句可以看上去几乎在同一时间内同时运行。
线程创建、销毁和切换的负荷远小于进程,又称为轻量级进程(lightweight process)。
;Java的多线程实现有两种途径:
创建Thread类的子类
在程序中定义实现Runnable接口的类
;首先需从Thread类派生出一个子类,在该子类中重写run()方法。
例:
class hand extends Thread
{
public void run()
{……}
};class Lefthand extends Thread {
public void run()
{
for(int i=0;i=5;i++)
{ System.out.println(You are Students!);
try{ sleep(500); }
catch(InterruptedException e)
{… }
}
}
};class Righthand extends Thread {
public void run()
{
for(int i=0;i=5;i++)
{ System.out.println(I am a Teacher!);
try{ sleep(300); }
catch(InterruptedException e)
{…. }
}
}
};然后用创建该子类的对象
Lefthand left=new Lefthand();
Righthand right=new Righthand();
最后用start()方法启动线程
left.start();
right.start();;public class ThreadTest
{
static Lefthand left;
static Righthand right;
public static void main(String[] args)
{ left=new Lefthand();
right=new Righthand();
left.start();
right.start();
}
};例:ThreadTest.java
执行结果:
You are Students!
I am a Teacher!
I am a Teacher!
You are Students!
I am a Teacher!
I am a Teacher!
You are Students!
I am a Teacher!
You are Students!
I am a Teacher!
You are Students!
You are Students!;定义Thread类的子类并实现用户线程操作,即run()方
文档评论(0)