Java多线程练习题
Java多线程习题

9、下列说法中错误的一项是( )。
A、Applet必须全部重写其生命周期方法
B、Applet不必全部重写其生命周期方法
C、Applet中使用了线程,则需要重写相应的生命周期方法
D、stop()总是在destroy()之前被调用。
B、用于建立与某个数据源的连接可采用DriverManager类的getConnection方法
C、建立数据库连接时,必须要进行异常处理
D JDBC中查询语句的执行方法必须采用Statement类实现
12、运行下列程序,会产生什么结果()
public class X extends Thread implements Runable{ public void run(){
18•实现线程体的方式除了继承Thread类,还可以实现接口。
E)A、Cloneable B、Runnable C、Iterable D、Serializable二、填空题
1、 若在高优先级线程的run()方法中调用_____方法,则该线程将让出CPU使其他 —
的线程获得CPU的使用权。
2、 通过实现Runnable接口创建线程的过程是:将实现Runnable的一个亠作为
Java
知识点:
Java的多线程,实现多线程的两种方法,线程控制、调度方法
一、选择题
1、什么原因可导致线程停止执行。 ( )
A.线程调用了wait()方法;
B.线程调用了yield()方法;
C.线程调用了pause()方法;
D.线程调用了sleep()方法。
2、 哪个方法是实现Runnable接口所需的?
13、下面哪个方法可以在任何时候被任何线程调用? ()
进程线程练习题

进程线程练习题一、选择题1. 进程是指()。
a) 线程的集合b) 代码的集合c) 资源的集合d) 程序的集合2. 线程是指()。
a) 进程的集合b) 代码的集合c) 资源的集合d) 程序的集合3. 在操作系统中,多个进程可以通过()来实现并发执行。
a) 共享内存b) 进程间通信c) 线程d) 同步操作4. 下列关于进程和线程的说法中,错误的是()。
a) 进程是资源分配的最小单位b) 线程是程序执行的最小单位c) 进程之间是相互独立的d) 线程之间共享内存空间5. 在Java中,可以创建线程的两种方式是()。
a) 继承Thread类、实现Runnable接口b) 实现Thread类、继承Runnable接口c) 实现Thread接口、继承Runnable类d) 继承Thread类、实现Callable接口二、填空题1. 进程间通信的方式有()。
2. 线程可以共享的资源有()。
3. 线程调度的方式包括()和()。
三、简答题1. 请简述进程和线程的概念及区别。
2. 进程间通信的方式有哪些,各自的优缺点是什么?3. 线程调度的方式有哪些,各自的优缺点是什么?4. 请举例说明多线程的优势以及适用场景。
四、编程题请使用Java语言编写一个多线程程序,实现以下功能:1. 创建两个线程T1和T2,分别打印出1~5和6~10的数字。
2. 要求线程T1和T2交替执行,即先打印数字1,然后打印数字6,接着打印数字2,再打印数字7,以此类推。
3. 在程序中使用合适的同步机制来实现线程的交替执行。
答案:一、选择题1. a) 线程的集合2. b) 代码的集合3. b) 进程间通信4. d) 线程之间共享内存空间5. a) 继承Thread类、实现Runnable接口二、填空题1. 管道通信、消息队列、共享内存、信号量、套接字通信等2. 内存空间3. 抢占式调度、协同式调度三、简答题1. 进程是操作系统进行资源分配和调度的基本单位。
JAVA 练习题第12章--java多线程机制

连续输出10次带标号的“Hello!”
{
while(i++<10) { System.out.print(i+":Hello");
}
}
写出以下程序的功能: class TEST implements Runnable { public static void main(String args[]) {
TEST t=new TEST();
Thread tt=new Thread(t); tt.start(); }
改后才能符合A线程的需要,这时线程A就要等待 线程B完成修改工作,这种现象称为( ) A、线程的同步 B、线程的互斥 C、线程的调度 D、线程的就绪
A
最常使用的多线程实现方法是__________。
A、继承Thread类
B、继承Threader类 C、使用Runnable接口 D、使用Thread接口
C
线程在,新建和____
____状态调用isAlive()方法
返回的值是false。
死亡
7.在Java中,创建线程的方法有两种:
一种方法是通过(
另一种方法是通过(
)来实现, )来实现。
创建 Thread 类的子类 实现 Runnable 接口的类
8.(
)将启动线程对象,使之从新建状态转 入就绪状态并进入就绪队列排队。
Βιβλιοθήκη )。 A.线程一旦创建,则立即自动执行 B.线程创建后需要调用start()方法,将线程置于 可运行状态 C.调用线程的start()方法后,线程也不一定立即 执行 D.线程处于可运行状态,意味着它可以被调度 【解析】线程创建后需要调用start()方法,将线程 置于可运行状态。
多线程练习题目

多线程练习题目————————————————————————————————作者:————————————————————————————————日期:多线程ﻩ一、单项1.下述哪个选项为真?()A.Error类是一个RoutimeException异常B.任何抛出一个RoutimeException异常的语句必须包含在try块之内C.任何抛出一个Error对象的语句必须包含在try块之内D.任何抛出一个Exception异常的语句必须包含在try块之内2.下列关于Java线程的说法哪些是正确的?( )A.每一个Java线程可以看成由代码、一个真实的CPU以及数据3部分组成B.创建线程的两种方法,从Thread类中继承的创建方式可以防止出现多父类问题C.Thread类属于java.util程序包D.以上说法无一正确3.哪个关键字可以对对象加互斥锁?( )A.transient B.synchronized C.serialize D.static4.下列哪个方法可用于创建一个可运行的类?()A.public classXimplements Runable{ publicvoid run() {……}}B.public class XimplementsThread { public void run(){……} }C. public class X implements Thread { public int run() {……} }D.publicclass X implements Runable { protectedvoidrun(){……}}5.下面哪个选项不会直接引起线程停止执行?( )A.从一个同步语句块中退出来B.调用一个对象的wait方法C.调用一个输入流对象的read方法D.调用一个线程对象的setPriority方法6.使当前线程进入阻塞状态,直到被唤醒的方法是()A.resume()方法B.wait()方法C.suspend()方法D.notify()方法7.运行下列程序,会产生的结果是( )publicclassXextends Thread implements Runnable {public void run(){System.out.println(“this is run()”);}publicstaticvoid main(String[] args){Thread t=new Thread(newX());t.start();}}A.第一行会发生编译错误B. 第六行会发生编译错误C.第六行会发生运行错误D.程序会运行和启动8.java.lang.ThreadGroup类的作用为()A.使任何类都可以为线程提供线程体B.定义了线程与交互的方法C.提供了线程组或组中的每个线程进行操作的方法D.以上都不是9.实现线程的创建有( )方法A.一种B. 两种C.三种D.四种10.一个进程可以包含()个线程A.一B.二 C.三 D.四11.Java中的线程模型包含()A.一个虚拟处理机B.CPU执行的代码C.代码操作的数据D.以上都是12.关于线程组以下说法错误的是( )A.在应用程序中线程可以独立存在,不一定要属于某个线程B.一个线程只能创建时设置其线程组C.线程组由jang包中的ThreadGroup类实现D.线程组使一组线程可以作为一个对象进行统一处里或维护13.下列定义线程方法正确的是()A.Public Thread();B.Public Thread(Runnable target);C.Public Thread(ThreadGroup group,Runnable target); D.以上都正确14.以下不属于Thread类提供的线程控制方法是( )A.break() B.sleep() C.yield()D.join()15.下列关于线程的说法正确的是()A.线程就是进程B.线程在操作系统出现后就产生了C.Soloris是支持线程的操作系统D.在单处理器和多处理器上多个线程不可以并发执行16.下列不属于线程生命周期状态的是()A. 新建状态B.可运行状态C. 运行状态 D.解锁状态17.以下不属于Thread类的线程优先级静态常量的是()A.MIN_PRIORITYB.MAX__PRIORITYC.NORM__PRIORITYD.BEST__PRIORITY18.( )关键字可以对对象加互斥锁。
Java第七单元练习题Java多线程机制(20210109223217)

7 Java 多线程机制7.1 单项选择题1. 线程调用了sleep ()方法后,该线程将进入( )状态。
A. 可运行状态B. 运行状态C. 阻塞状态D. 终止状态2. 关于java 线程,下面说法错误的是()A. 线程是以CPU为主体的行为B. java 利用线程使整个系统成为异步C. 创建线程的方法有两种:实现Runnable 接口和继承Thread 类D. 新线程一旦被创建,它将自动开始运行3. 在java 中的线程模型包含()A. 一个虚拟处理器B. CPU执行的代码C. 代码操作的数据D. 以上都是4. 在java 语言中,临界区可以是一个语句块,或者是一个方法,并用()关键字标识。
A. synchronizedB. includeC. importD. Thread5. 线程控制方法中,yield()的作用是()A. 返回当前线程的引用B. 使比其低的优先级线程执行C. 强行终止线程D. 只让给同优先级线程运行6. 线程同步中,对象的锁在()情况下持有线程返回A. 当synchronized()语句块执行完后B. 当在synchronized()语句块执行中出现例外( exception )时C. 当持有锁的线程调用该对象的wait()方法时D. 以上都是7. 在以下()情况下,线程就进入可运行状态A. 线程调用了sleep()方法时B. 线程调用了join()方法时C. 线程调用了yield()方法时D. 以上都是8. java 用()机制实现了进程之间的异步执行A. 监视器B. 虚拟机C. 多个CPUD. 异步调用9. Thread 类的方法中,toString() 方法的作用是()A. 只返回线程的名称B. 返回当前线程所属的线程组的名称C. 返回当前线程对象D. 返回线程的名称10. J ava 语言具有许多优点和特点,下列选项中,哪个反映了Java 程序并行机制的特点( )A. 安全性B. 多线程C. 跨平台D. 可移值11. 以下哪个关键字可以用来对对象加互斥锁()A. transientB. synchronizedC. serializeD. static12. 下面关于进程、线程的说法不正确的是( )。
java 多线程练习题

java 多线程练习题Java多线程练习题在Java中,多线程是非常常见和重要的概念。
通过使用多线程,我们可以实现并发处理和同时执行多个任务。
为了熟悉和掌握多线程的用法,下面将给出一些Java多线程的练习题。
1. 编写一个Java程序,创建两个线程,分别输出从1到50和从51到100的数字。
确保两个线程交替输出数字,即输出的结果应为:1,51,2,52,3,53...,99,100。
2. 编写一个Java程序,创建三个线程,分别输出字符A、字符B和字符C。
确保三个线程按顺序交替输出字符,即输出的结果应为:ABCABCABC...3. 编写一个Java程序,模拟购票系统。
假设有100张票,多个窗口同时售票,要求保证售出的票没有重复,即每张票只能卖给一个人。
4. 编写一个Java程序,使用多线程实现生产者-消费者模型。
假设有一个信号灯,生产者线程可以向信号灯放置数据,消费者线程可以从信号灯中取走数据。
要求生产者线程和消费者线程交替执行,确保生产者放置数据后,消费者才能取走数据。
5. 编写一个Java程序,使用多线程计算1到100之间所有数字的和。
要求将任务分成10个子任务,由10个线程并行地执行,并最后将子任务的计算结果合并得到最终结果。
6. 编写一个Java程序,实现一个简单的线程池。
线程池中包含固定数量的线程,多余的任务将会排队等待执行。
当新的任务到达时,如果有空闲线程,则立即执行,否则任务将会进入等待队列。
以上是一些Java多线程的练习题,通过完成这些练习题,您将熟悉和掌握多线程的基本用法和常见应用场景。
希望这些练习题对您的学习和实践有所帮助!。
java多线程习题

一、选择题1.下列说法中,正确的一项是(A )。
A.单处理机的计算机上,2个线程实际上不能并发执行B.单处理机的计算机上,2个线程实际上能够并发执行C.一个线程可以包含多个进程D.一个进程只能包含一个线程2.下列说法中,错误的一项是( A )。
A.线程就是程序B.线程是一个程序的单个执行流C.多线程是指一个程序的多个执行流D.多线程用于实现并发3.下列关于Thread类的线程控制方法的说法中错误的一项是()。
A.线程可以通过调用sleep()方法使比当前线程优先级低的线程运行B.线程可以通过调用yield()方法使和当前线程优先级一样的线程运行C.线程的sleep()方法调用结束后,该线程进入运行状态D.若没有相同优先级的线程处于可运行状态,线程调用yield()方法时,当前线程将继续执行5.下面的哪一个关键字通常用来对对象加锁,从而使得对对象的访问是排他的( C )?A.serialize B.transient C.synchronized D.static6.下列说法中,错误的一项是(A )。
A.线程一旦创建,则立即自动执行B.线程创建后需要调用start()方法,将线程置于可运行状态C.调用线程的start()方法后,线程也不一定立即执行D.线程处于可运行状态,意味着它可以被调度7.下列说法中,错误的一项是()。
A.Thread类中没有定义run()方法B.可以通过继承Thread类来创建线程C.Runnable接口中定义了run()方法D.可以通过实现Runnable接口创建线程【解析】Thread类和Runnable接口中都定义了run()方法,而start()方法只有Thread类中进行了定义,而Runnable接口中没有定义。
8.Thread类定义在下列哪个包中()?A.java.io B.ng C.java.util D.java.awt 9.Thread类的常量NORM_PRIORITY代表的优先级是()。
java多线程试题-答案

多线程一.选择题1.下列说法中错误的一项是(A)A.线程就是程序B。
线程是一个程序的单个执行流B.多线程是指一个程序的多个执行流D。
多线程用于实现并发2.下列哪个一个操作不能使线程从等待阻塞状态进入对象阻塞状态(D)A.等待阴塞状态下的线程被notify()唤B.等待阻塞状态下的纯种被interrput()中断C.等待时间到D.等待阻塞状态下的线程调用wait()方法3.下列哪个方法可以使线程从运行状态进入其他阻塞状态(A)A.sleep B。
wait C.yield D.start4.下列说法中错误的一项是(D)A.一个线程是一个Thread类的实例B.线程从传递给纯种的Runnable实例run()方法开始执行C.线程操作的数据来自Runnable实例D.新建的线程调用start()方法就能立即进入运行状态5.下列关于Thread类提供的线程控制方法的说法中,错误的一项是(D)A.在线程A中执行线程B的join()方法,则线程A等待直到B执行完成B.线程A通过调用interrupt()方法来中断其阻塞状态C.若线程A调用方法isAlive()返回值为true,则说明A正在执行中D.currentThread()方法返回当前线程的引用6.下列说法中,错误的一项是()A.对象锁在synchronized()语句执行完之后由持有它的线程返还B.对象锁在synchronized()语句中出现异常时由持有它的线程返还C.当持有锁的线程调用了该对象的wait()方法时,线程将释放其持有的锁D.当持有锁的线程调用了该对象的构造方法时,线程将释放其持有的锁7.下面的哪一个关键字通常用来对对象的加锁,从而使得对对象的访问是排他的 AA.sirialize B transient C synchronized D static二.填空题1. 在操作系统中,被称做轻型的进程是线程2。
多线程程序设计的含义是可以将一个程序任务分成几个并行的任务3。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
答:
4.一个线程通过什么方法将处理器让给另一个优先级别相同的线程?
A:wait
B:yield
C:join
D:sleep
E:stop
答:
5.如果要一个线程等待一段时间后再恢复执行此线程,需要调用什么方法?
A:wait
B:yield
C:join
D:sleep
E:stop
F:notify
Java多线程编程练习题
[]选择题
1.编写线程类,要继承的父类是:
A:Object
B:Runnable
C:Serializable
D:Thread
E: Exception
答
2.编写线程类,可以通过实现那个接口来实现?
A:Runnable
B:Throwable
C:Serializable
D:Comparable
C: public class MyRunnable implements Runnable {public void run() {}}
D: public class MyRunnable extends Runnable {void run() {}}
E: public class MyRunnable implements Runnable {void run() {}}
问:如下哪些类可以创建target对象,并能编译正确?
A: public class MyRunnable extends Runnable { public void run(){} }
B: public class MyRunnable extends Object { public void run() {} }
答:
9.给出代码如下:
public class MyRunnable implements Runnable
{
public void run()
{
--------------------------------
}
}
问在虚线处,如下哪些代码可以创建并启动线程?
A:new Runnable(MyRunnable).start();
答:
7.Runnable接口定义了如下哪些方法?
A: start()
B: stop()
C: resume()
D: run()
E: suspend()
答:
8.如下代码创建一个新线程并启动线程:
Runnable target=new MyRunnable();
Thread myThread=new Thread(target);
B:new Thread(MyRunnable).run();
C:new Thread(new MyRunnable()).start();
D:new MyRunnable().start();
答:
[]问答题
1.线程和进程有什么区别?
2.Java创建线程的方式有哪些?
[]编程题
1.编写多线程应用程序,模拟多个人通过一个山洞的模拟。这个山洞每次只能通过一个人,每个人通过山洞的时间为5秒,随机生成10个人,同时准备过此山洞,显示一下每次通过山洞人的姓名。
2.选做,目前有三个类,里面都有打印的方法,类A的该方法可以打印出10个A,类B的方法可以打印出10个B,类C的方法可以打印出10个C.请利用多线程(提Байду номын сангаасwait,notify)实现轮流打印出ABC.