计算机软件线程,[计算机软件及应用]线程ppt.ppt

[计算机软件及应用]线程ppt

一、线程的创建与运行 四、创建线程的两种方式 2.使用Runnable接口创建线程 Thread thread1=new Thread(Runnable target): 目标对象Runnable target :在创建线程对象时向构造方法的参数传递一个实现了Runnable接口的实例,该实例称为所创建对象的目标对象。 接口回调:当执行teacher.start()时,一旦轮到线程teacher使用CPU资源,目标对象会自动调用其接口中的run()方法,这个过程称为接口回调。 一、线程的创建与运行 四、创建线程的两种方式 2.使用Runnable接口创建线程 应用举例:分析StudentAndTeacher1.java 问题 1.线程teacher和student是在哪里被创建的?采用哪种技术创建的? 2.分析一下程序的可能运行结果界面是什么? 3.分析方法sleep()的作用是什么? 为了使结果尽量不依赖于当前CPU资源的使用情况,应当让线程主动调用sleep()方法,让出CPU的控制权进入中断状态;使其他线程能够使用CPU资源完成一定的操作。 一、线程的创建与运行 四、创建线程的两种方式 2.使用Runnable接口创建线程 应用举例:分析StudentAndTeacher1.java 4.分析方法computer(Thread thread),关键字synchronized对程序的运行有什么影响? public synchronized void computer(Thread thread) { int m = computerSum.getSum(); computerSum.setSum(m + 1); System.out.println("我是" + thread.getName() + ",现在的和是"+ computerSum.getSum()); } 主要是为了处理线程同步,当两个以上线程同时访问一个变量时,线程A在修改这个变量值的过程中,还没有完成修改的全部动作时,其他线程就不能访问修改这个变量的方法。 一、线程的创建与运行 四、创建线程的两种方式 2.使用Runnable接口创建线程 应用举例:分析StudentAndTeacher1.java public synchronized void computer(Thread thread) { …… } 线程同步:若干个线程需要使用一个synchronized修饰的方法。 在处理线程同步时,要做的第一件事情就是把修改数据地方法用关键字synchronized来修饰; 这样当线程A使用这个方法时,其他想使用这个方法的线程就必须等待,直到线程A使用完该方法为止。 二、线程的常用方法 一、构造方法 1. public Thread(ThreadGroup group,Runnable target,String name) 参数group代表该线程所属的线程组,target代表执行线程体的目标对象(必须实现Runnable 接口),name代表线程名 2. public Thread() 创建一个系统线程类的对象 3. public Thread(Runnable target) 利用参数对象(实现了Runnable接口的target对象) 创建线程 4. public Thread(String name) ?为所创建的线程对象指定一个字符串名称供以后使用 5.public Thread(Runnable target,String name) ?实现3,4两个构造方法的功能 二、线程的常用方法 二、其他方法 1. start()方法 启动线程,使线程从新建状态进入就绪队列排队等待CPU资源。 2. run()方法 线程所执行具体操作的代码,自动调用,不得引用。 run()方法没有结束之前,不能再让线程调用start()方法,否则会发生IllegalThreadStateException异常。 问题:在程序设计中,避免start()被调用多次而引发的异常? 二、线程的常用方法 二、其他方法 3. sleep(int millsecond)方法 ?线程进入休眠状态,以毫秒为单位。处于休眠状态的线程让出CPU控制权。需捕捉InterruptedException异常。 4. isAlive()方法 判断线程是否处于活动状态(既已调用start,但run还未返回)。 5. currentThread()方法 以类名调用,返回当前正在使用CPU资源的线程。 if(Thread.currentThread()==student){ …… } 二、线程的常用方法 二、其他方法 6. interrupt()方法 ?线程A进入休眠状态时,其他线程可以调

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值