Ch05-线程和多线程.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ch05-线程和多线程

第五章 线程和多线程 回顾 JDBC概念的理解 使用 Class.forName() 方法可以将驱动程序加载到 Java 解释器中 使用 DriverManager 类的 getConnection() 方法和 Connection 对象的 createStatement() 方法建立连接 使用Statement类的executeQuery() 或 executeUpdate() 方法执行 SQL 语句 PreparedStatement 接口允许创建预编译的SQL 语句,并使得在后续阶段可以指定语句的参数 主要内容 线程和多线程的概念(重点) 创建线程的方法(重点) 后台线程 线程控制:线程状态、优先级、串行化、让步、挂起和恢复 线程的同步:临界资源、互斥锁 问题 进程(Process)和线程(Thread)的概念 一个CPU在一个时间点只能运行一个程序,一个程序也叫做一个任务。一个程序也有一个或多个进程组成。 一个程序内部也可以实现多个任务(顺序控制流)的并发执行,其中的每个任务被称为线程(Thread)。线程是程序内部的顺序控制流。 线程又称轻型进程,是分配资源和程序运行的最小单位。 多线程的实现 在Java语言中,多线程的机制是通过虚拟CPU来实现的,每台CPU可以获取所需的代码和数据,因此能独立执行任务,相互间还可以共享代码和数据。 Java的线程是通过java.lang.Thread类来实现的,它的内部实现了的虚拟CPU功能。 创建多线程--1 Java实现多线程程序的两种方式: (1)实现Runnable接口 class MyRunnable implements Runnable{ public void run(){ …… } } class Demo1{ public static void main(String [ ] args){ MyRunnable r = new MyRunnable ( ); Thread t=new Thread(r); t.start( ); } } 多线程共享代码和数据 多线程之间可以共享代码和数据 创建多线程--2 (2)继承Thread类 class MyThread extends Thread{ public void run(){ …… } } class Demo2{ public static void main(String [ ] args){ Thread t=new MyThread( ); t.start( ); } } 两种创建线程方法的比较 使用Runnable接口创建线程 CPU、代码和数据分开,形成清晰的模型。 run()方法所在的类还可以从其他类继承一些有用的属性和方法。 有利于保持程序风格的一致性。 直接继承Thread类创建线程 继承Thread类的子类无法再继承其它类。 编写简单: run()方法的当前对象就是线程对象,可以直接调用。 后台线程--1 后台处理(Background Processing):在分时处理或多任务系统中,当高优先级的程序不在使用系统资源时,计算机去执行优先级较低程序的过程叫做后台处理。如:文件打印。 后台线程(Daemon Thread):后台运行,为其它线程提供服务的线程,又称为守护线程。如:JVM垃圾回收。 用户线程(User Thread):用户创建的完成用户指定任务的线程成为用户线程。 主线程(Main Thread):调用main()方法所产生的线程。 子线程(Sub Thread):在主线程中或某个线程中创建的另外一个线程。 后台线程--2 Thread类提供的与后台线程相关的方法 判断某个线程是否是后台线程: public final boolean isDeamon() 设置某个线程为后台线程: public final void setDeamon(boolean on) 例如: Thread t2=new MyRunner(300); t2.setDaemon(true); 线程控制 线程基本状态的转换: 线程的优先级 Java的线程优先级用整数表示,范围从1(最低)~10(最高)。 主线程和一般线程的缺省优先级是5(中等) 获得某个线程优先级的方法是: public final int getPriority() 设置某个线程优先级的方法是: public final void setPriority(int newPriority) 线程串行化--1 可以利用线程的串行化处理的join()方法让一个线程先运行完毕,再运行另一个线程。

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档