java多线程试题_答案.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java多线程试题_答案

多线程 选择题 下列说法中错误的一项是(A) 线程就是程序 B.线程是一个程序的单个执行流 多线程是指一个程序的多个执行流 D.多线程用于实现并发 下列哪个一个操作不能使线程从等待阻塞状态进入对象阻塞状态(D) 等待阴塞状态下的线程被notify()唤 等待阻塞状态下的纯种被interrput()中断 等待时间到 等待阻塞状态下的线程调用wait()方法 下列哪个方法可以使线程从运行状态进入其他阻塞状态(A) sleep B.wait C.yield D.start 下列说法中错误的一项是(D) 一个线程是一个Thread类的实例 线程从传递给纯种的Runnable实例run()方法开始执行 线程操作的数据来自Runnable实例 新建的线程调用start()方法就能立即进入运行状态 下列关于Thread类提供的线程控制方法的说法中,错误的一项是(D) 在线程A中执行线程B的join()方法,则线程A等待直到B执行完成 线程A通过调用interrupt()方法来中断其阻塞状态 若线程A调用方法isAlive()返回值为true,则说明A正在执行中 currentThread()方法返回当前线程的引用 下列说法中,错误的一项是() 对象锁在synchronized()语句执行完之后由持有它的线程返还 对象锁在synchronized()语句中出现异常时由持有它的线程返还 当持有锁的线程调用了该对象的wait()方法时,线程将释放其持有的锁 当持有锁的线程调用了该对象的构造方法时,线程将释放其持有的锁 下面的哪一个关键字通常用来对对象的加锁,从而使得对对象的访问是排他的 A sirialize B transient C synchronized D static 二.填空题 1. 在操作系统中,被称做轻型的进程是 线程 2. 多线程程序设计的含义是可以将一个程序任务分成几个并行的 任务 3. 在Java程序中,run()方法的实现有两种方式: 实现Runnable接口 和 继承Thread类 4 .多个线程并发执行时,各个线程中语句的执行顺序是 确定 的,但是线程之间的相对执行顺序是 不确定 的 6.Java中的对象锁是一种独占的 排他 锁 7.程序中可能出现一种情况:多个线种互相等待对方持有的锁,而在得到对方的锁之前都不会释放自己的锁,这就是 死锁 8.线程的优先级是在Thread类的常数 MIN_PRIORITY 和 MAX_PRIORITY 之间的一个值 9.处于新建状态的线程可以使用的控制方法是 start() 和 stop() 。 10.一个进程可以包含多个 线程 三.简答题 1.说明几个概念: 对象锁、leep、wait、notify、notifyAll对象锁:每个对象都有对象锁,当某个线程进入用synchronized定义方法时,就获得了当前类对象(方法所属的类的对象)的锁,其他线程就不能再获得该锁,直到线程释放该锁。一个类对象有一个对象锁,多个同步方法公用一个对象锁。 sleep:是当前线程处于休眠状态,将对cpu的控制权交给其他线程,但不释放当前对象的锁,其他线程可以获得cpu,但不能进入当前线程控制的对象锁。 wait:与sleep的区别是,它会释放对象锁,其他线程可以进入该同步块。 notify:进入当前同步块的线程调用wait方法变成休眠状态的线程,notify将该线程变成等待状态。 notifyAll:进入当前同步块的线程调用wait方法变成休眠状态,notifyAll使所有休眠线程变成等待状态。? 一个类中有多个同步方法,进入任意一个同步块都将获得该对象锁,由于wait方法使进入同步块的线程休眠,notify只能唤醒所有被休眠线程中的一个,notifyAll可以唤醒所有休眠线程。通常线程的通信通过wait,notifyAll和wait条件来实现。java 中有几种方法可以实现一个线程?用什么关键字修饰同步方法 ??S 有两种实现方法,分别是继承 Thread类与实现Runnable接口 用synchronized关键字修饰同步方法 sleep()? 和 ?wait()? 有什么区别 ??答: sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。同步和异步有何异同,在什么情况下分别使用他们?举

文档评论(0)

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

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

1亿VIP精品文档

相关文档