Java多线程题库】的更多相关文章

一.    填空题 处于运行状态的线程在某些情况下,如执行了sleep(睡眠)方法,或等待I/O设备等资源,将让出CPU并暂时停止自己的运行,进入____阻塞_____状态. 处于新建状态的线程被启动后,将进入线程队列排队等待CPU,此时它已具备了运行条件,一旦轮到享用CPU资源就可以获得执行机会.上述线程是处于    就绪    状态. 解析: 线程的生命周期-五个阶段 新建状态---- new关键字创建线程对象 就绪状态---- start()方法运行之前 运行状态---- run()方法的…
大家好, 我是方子龙.很久没有自己写文章了. 一面是因为工作上的需求开发任务比较重,下班回家基本上就躺床玩几把王者,度过闲暇时光. 二面是一有点时间就自己主动地去看书和学习,知道自己还缺少很多知识,由于还在进行中,输出还很少. 最近在看的书籍: <颠覆平庸>彭小六 推荐理由:一个由程序员转写作的大佬,主要包含个人,团队,项目,时间管理.很贴近我们程序员的思维,提升个人职场竞争力.读完收益匪浅. <数学之美>吴军 (食用方式)公众号"Java技术干货"内回复关键字…
1.多个线程之间共享数据的方式探讨 1.如果每个线程执行的代码相同,可以使用同一个Runnable对象,这个Runnable对象中有那个共享数据,例如,买票系统就可以这么做. 2.如果每个线程执行的代码不同,这时候需要用不同的Runnable对象,有如下两种方式来实现这些Runnable对象之间的数据共享: 将共享数据封装在另外一个对象中,然后将这个对象逐一传递给各个Runnable对象.每个线程对共享数据的操作方法也分配到那个对象身上去完成,这样容易实现针对该数据进行的各个操作的互斥和通信.…
一.填空题 __异常处理__机制是一种非常有用的辅助性程序设计方法.采用这种方法可以使得在程序设计时将程序的正常流程与错误处理分开,有利于代码的编写和维护. 在Java异常处理中可以使用多个catch子句,此时包含异常类的父类Exception的catch子句的位置应该是在__最后__. 异常处理中finally块可确保无论是否发生异常,该块中代码总能被执行.finally块不执行的唯一情况是在异常处理代码中执行__System.exit()__语句退出Java虚拟机. 异常是由Java应用程序…
一.    填空题 Java集合框架提供了一套性能优良.使用方便的接口和类,包括Collection和Map两大类,它们都位于  java.util  包中 队列和堆栈有些相似,不同之处在于栈是先进后出,队列是先进先出 . 链表  结构是一种由多个节点组成的线性数据结构,并且每个节点包含有数据以及指向下一个节点的引用. ___LinkedList__是一种集合类,它 采用链表作为的存储结构,便于删除和添加元素,但是按照索引查询元素效率低下. TreeSet  是一种Collection类型的集合…
1.        传统线程技术回顾 继承线程与实现Runnable的差异?为什么那么多人都采取第二种方式? 因为第二种方式更符合面向对象的思维方式.创建一个线程,线程要运行代码,而运行的代码都封装到一个独立的对象中去.一个叫线程,一个叫线程运行的代码,这是两个东西.两个东西一组合,就表现出了面向对象的思维.如果两个线程实现数据共享,必须用Runnable的方式. 查看Thread类的run()方法的源代码,可以看到其实这两种方式都是在调用Thread对象的run方法,如果Thread类的run…
选择题 答题要求:单选题,每题只有一个正确答案,选择正确给分,不正确不给分. 1. 下面(   A    )数据类型可用于main()方法中传递的参数 A.String   B.Integer   C.Boolean   D.Variant 2.以下的选项中能正确表示Java语言中的一个整型常量的是(    B   ) A.12. B.-20   C.1,000     D.4 5 6 3.下列的变量定义中,正确的是(   D    ) A.boolean b1="true";   B…
JDK5中增加了Doug Lea的并发库,这一引进给Java线程的管理和使用提供了强大的便利性. java.util.current包中提供了对线程优化.管理的各项操作,使得线程的使用变得的心应手.该包提供了线程的运行,线程池的创建,线程生命周期的控制. Java通过Executors提供四个静态方法创建四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程. newFixedThreadPool…
1.java5的Semaphere同步工具 Semaphore可以维护当前访问自身的线程个数,并提供了同步机制.使用Semaphore可以控制同时访问资源的线程个数,例如,实现一个文件允许的并发访问数. Semaphore实现的功能就类似银行有6个窗口,12个人有业务要操作,那么同时只能有6个人占用窗口,当有的人业务操作完毕之后,让开位置,其它等待的人群中,有一人可以占用当前窗口,操作自己的业务. 另外等待的5个人中可以是随机获得优先机会,也可以是按照先来后到的顺序获得机会,这取决于构造Sema…
一道编程题如下: 实例化三个线程,一个线程打印a,一个打印b,一个打印c,三个线程同时执行,要求打印出6个连着的abc 题目分析: 通过题意我们可以得出,本题需要我们使用三个线程,三个线程分别会打印6次字符,关键是如何保证顺序一定是abc...呢.所以此题需要同步机制来解决问题! 令打印字符A的线程为ThreadA,打印B的ThreadB,打印C的为ThreadC.问题为三线程间的同步唤醒操作,主要的目的就是使程序按ThreadA->ThreadB->ThreadC- >ThreadA循…