《Java语言程序设计一》课件自考04747.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第八章 多线程 Thread的构造方法中包含有一个Runnable实例的参数,必须定义一个实现Runnable接口的类并产生一个该类的实例,对该实例的引用就是适合于这个构造方法的参数 class MyClass extends Applet implements Runnable{ public void start(){ thread=new Thread(this); thread.start(); } private Thread thread; } public class MyClass implements Runnable{ int i; public void run(){ while (true) { System.out.println(Hello +i++); } } } Runnable target= new MyClass(); Thread t= new Thread(target); 演示示例:创建线程方法一 * 第八章 多线程 从Thread类派生出一个子类,在类中一定要实现run() 然后用该类创建一个对象 用start()方法启动线程 class Lefthand extends Thread { public void run(){ …… } } Lefthand left = new Lefthand(); left.start(); 演示示例:创建线程方法二 * 第八章 多线程 线程互斥与同步 线程的互斥 如果多个线程共享某个变量,且都对变量有修改,则要考虑多个线程间的相互协调问题,为临界段加锁(临界段:多个线程间互斥使用共享资源的程序段)。 通过synchronized关键字可以对共享对象的操作上锁,分为同步块和同步方法两种方式。 同步块用来给某个对象加锁 同步方法利用的是this所代表的对象的锁。 synchronized(对象名){//多个线程共享的操作。} public synchronized void add(){ //多个线程共享的操作。} public class MyStack { int idx = 0; char [] data = new char[ 6]; public synchronized void push( char c) { data[ idx] = c; idx++; } public synchronized char pop() { idx--; return data[ idx]; } } * 第八章 多线程 synchronized关键字注意事项: 同步块(同步方法)内的过程是做为一个整体执行的。进入到这个同步块内部的线程拿到这个对象的锁后,只有执行完临界段代码后才会释放这个对象的锁,另外的线程想执行这段代码,只有等待。 多个同步块只要锁定的对象是相同的,则执行上是互斥的。 注意同步块内部是有线程切换存在的,可切换到不需进入这个临界段的线程去执行。 注意死锁问题。 * 第八章 多线程 线程同步 多线程之间除有互斥情况外,还需要同步。当线程A使用到某个对象,而此对象又需要线程B修改后才能符合本线程的需要,这时线程A就要等待线程B完成修改工作,这种线程相互等待称为线程的同步。 为了实现同步,Java语言提供wait()、notify()和notifyAll()三个方法供线程在临界段中使用。在临界段中使用wait()方法,使执行该方法的线程等待,并允许其他线程使用这个临界段。wait()方法常用以下两种格式: wait():让线程一直等待,直到被notify()或notifyAll()方法唤醒。 wait(long timeout):让线程等待到被唤醒,或经过指定时间后结束等待。 notify():通知第一个处于等待的线程。 notifyAll():通知所有等待的线程结束等待,重新竞争CPU。 * 第九章 输入和输出流 主要内容(一般掌握3%-5%) 字节流和字符流 缓冲式输入输出 随机访问 文件对话框 考核知识点与考核要求 识记 文件随机访问方法 简单应用 缓冲式输入输出方法,使用文件对话框打开和保存文件,类JFileChooser的使用 综合应用 File、FileInputStream、FileOutputStream、FileReader、FileWriter对象创建 * 第九章 输入和输出流 字节流和字符流 类库java.io包支持打开流、向流写数据、从流读取数据和关闭流等操作的

文档评论(0)

lxm + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档