编写一个有两个线程的程序,第一个线程用来计算2~100000之间的素数的个数,第二个线程用来计算100000~200000之间的素数的个数,最后输出结果。

编写一个有两个线程的程序,第一个线程用来计算2~100000之间的素数的个数,第二个线程用来计算100000~200000之间的素数的个数,最后输出结果。


参考答案和解析
AB

相关考题:

n个数求和的串行程序,通过一个循环将每个数累加到全局变量sum中,其多线程版本简单将循环范围改变为每个线程负载的范围,存在的问题是____。 A、负载不均B、通信开销大C、CPU空闲等待严重D、sum累加产生竞争条件,导致结果错误

阅读以下技术说明及Java程序,将Java程序中(1)~(5)空缺处的语句填写完整。【说明】用创建Thread类的子类的方法实现多线程,判断一个数是否是素数。如果是,打印“是素数”,如果不是,则打印“不是素数”;如果没有参数输入,显示“请输入一个命令行参数”。【Java程序】import java.io.* ;public class TestThread{ //Java Application主类public static void main(Sting args[ ]){if (args length<l) { //要求用户输入一个命令行,否则程序不能进行下去system.out.println("请输入一个命令行参数");system.exit(0) ;} //创建用户Thread子类的对象实例,使其处于NewBorn状态primeThread getPrimes = new primeThread (Integer.parseInt(args[0]));getPrimes.start () ; //启动用户线程,使其处于Runnable状态while(getPrimes.isAlive() getPrimes.ReadyToGoOn() ) {system.out.println("Counting the prime number..\n"); //说明主线程在运行try {Thread. sleep (500); //使主线程挂起指定毫秒数,以便用户线程取得控制权,//sleep是static的类方法}Catch(InterruptedException e) { //sleep方法可能引起的异常,必须加以处理return ;}} //while循环结束System.out.println ("按任意键继续……") ; //保留屏幕,以便观察try {(1);}Catch(IOException e) { }} //main方法结束}class primeThread extends Thread {//创建用户自己的Thread子类run()中实现程序子线程操作boolean m_bContinue=true; //标志本线程是继续int m_nCircleNum ; /循环的上限prime Thread(int Num){ //构造函数m_nCircleNum =Nam;}boolean ReadyToGoOn () { //判断本线程是否继续执行return ( (2) );}public void run () {//继承并重载父类Thread的run ()方法,在该线程被启动时自动执行int number =3;boolean flag=true;while (true) { //无限循环for((3); i++) //检查number是否为素数if(number %i==0)(4);system, out. println (flag);if (flag) //打印该数是否为素数的信息system,out.print in (number+ "是素数") ;elsesys rem.out.print In (number+ "是素数") ;number++ ; &nb

线程对象的___________方法用来阻塞当前线程,指定线程运行结束或超时后继续运行当前线程。

以下描述中,( )并不是多线程系统的特长。 A 利用线程并行地执行矩阵乘法运算。B web服务器利用线程请求http服务C 键盘驱动程序为每一个正在运行的应用配备一个线程,用来响应相应的键盘输入。D 基于GUI的debugger用不同线程处理用户的输入、计算、跟踪等操作。

_________用来为一个线程开启一个消息循环,用来操作MessageQueue。

在大多数多线程的应用程序中,线程之间不需要共享相同的对象。()

下列程序的功能是:计算500~800之间素数的个数cnt,并按所求素数的值从小到大的顺序,再计算其间隔加、减之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数……的值sum。请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum输出到文件OUT66.DAT中。注意:部分源程序已给出。请勿改动主函数mam()和写函数writeDAT()的内容。试题程序:include<stdio. h>int cnt, sum;void countValue ( ){}void main (){cnt= sum=0;countValue();printf ("素数的个数=%dkn", cnt );printf ("按要求计算得值=%d\n", sum );writeDAT ( );}writeDAT ( ){FILE *fp;fp=fopen ( "OUT66. DAT", "w" );fprintf (fp, "%d\n%d\n", cnt, sum);fclose (fp);}

比较线程和进程,下列说法有误的是A.系统产生线程负担要比进程小的多,所以线程也被称为“轻型进程”B.线程和进程不能同时出现在同一个系统或程序中C.进程是一个内核级的实体,线程是一个用户级的实体D.线程不包含进程地址空间中的代码和数据,线程是计算过程在某时刻的状态

Windows提供了两种线程,( )和( )。用户界面线程通常用来处理消息循环、与用户交互;工作者线程用来处理后台的计算。

下述是关于进程和线程的说法:①在传统的OS中,进程是系统分配资源和进行调度的基本单位。而线程则是系统分配资源的基本单位。②进程就是线程。③线程可以创建另外一个线程,同一个进程中的多个线程可以并发执行。线程也有就绪、运行和阻塞三种基本状态。其中正确的个数为______。A.0B.1C.2D.3

下列程序的运行结果是______。 class A implements Runnable { int a; iht i = 2; A(int x) { a = x; } public void run() { while(i > 0) { System.out.println("线程" + a); i--; } } } public class Testl3 { public static void main(String[] args) { Thread a1 = new Thread(new A(1)); Thread a2 = new Thread(new A(2)); a1.start(); a2.start(); } }A.线程1 线程1 线程2 线程2B.线程1 线程2C.线程1 线程2 线程1 线程2D.线程1 线程1 线程1 线程1

程序test.c的功能是:计算500~800区间内素数的个数cnt,并按所求素数的值从大到小的顺序,计算其间隔减、加之和,即第1个素数.第2个素数+第3个素数.第4个素数+第5个素数…的值sum。请编写函数count Value实现程序的要求,最后main函数调用函数writeOAT把结果cnt和Sum,输出到文件out.dat中。

程序test.c的功能是:选出大于100小于1000的所有个位数字与十位数字之和被10除所得余数恰是百位数字的所有素数(如293)。计算并输出上述这些素数的个数cnt以及这些素数值的和sum。请考生编写函数countValue实现程序要求,最后调用函数writeDAT把结果cnt和sum输出到文件out.dat中。

程序test.c的功能是:计算100以内满足以下条件的所有整数i的个数cnt以及这些i之和sum。条件:i,i+4,i+10都是素数,同时i+10小于100。请考生编写函数countvalue实现程序要求,最后调用函数wfiteDAT把结果cnt和sum输出到文件out.dat中。(数值l不是素数)

程序、进程和线程3个概念之间的关系是( )。A.程序与进程同一个概念B.线程与进程同一个概念C.一个进程可以包含多个线程D.一个线程包含多个进程

下面有关超线程技术叙述正确的有()。A、超线程技术就是把两个逻辑内核模拟成两个物理芯片B、超线程技术可以使单个处理器都能使用线程级并行计算C、超线程技术的英译是Hyper-Threading TechnologyD、超线程技术就是一个物理芯片中有两个物理核心

WindowsNT中,下列线程中优先级最高的是()。A、交互式线程B、I/O型线程C、计算型线程D、空转线程

程序、进程和线程之间的关系是什么?什么是多线程程序?

在进程与线程的描述中,下列()是错误的。A、一个进程可以包含多个线程B、进程之间的切换快于线程C、各个线程可以共享整个进程的所有资源D、Unix中最小的调度单位是线程

在Hibernate中,下列关于SessionFactory说法正确的有()A、它是线程安全的B、它不是线程安全的C、它是轻量级的D、一个SessionFactory实例对应一个数据存储源

下列关于线程的叙述中,正确的是()。A、线程包含CPU现场,可以独立执行程序B、每个线程有自己独立的地址空间C、进程只能包含一个线程D、线程之间的通信必须使用系统调用函数

下列关于超线程技术说法错误的是()A、超线程技术的CPU在功能上与双核CPU相似B、超线程技术就是利用特殊的硬件指令,把两个逻辑内核拟成物理芯片C、超线程技术是让单个处理器能使用线程级并行计算,从而兼容多线程并行计算D、只要CPU支持超线程技术就能发挥超线程的性能,与其它硬件和软件无关

填空题线程对象的()方法用来阻塞当前线程,指定线程运行结束或超时后继续运行当前线程。

问答题程序、进程和线程之间的关系是什么?什么是多线程程序?

单选题下列方法能够用来实现线程之间通信的是(  )。Anotify()Brun()Csleep()Djoin()

单选题实用的网络程序最少需要几个线程?()A两个线程,一个线程等待网络消息,另一个线程处理用户动作B一个线程即可C三个线程,一个线程作为服务器端,第二个线程作为客户端,第三个线程响应用户动作D四个线程,一个线程作为服务器端,第二个线程作为客户端,第三个线程作为数据传输,第四各线程响应用户动作

单选题下列关于线程的叙述中,正确的是()。A线程包含CPU现场,可以独立执行程序B每个线程有自己独立的地址空间C进程只能包含一个线程D线程之间的通信必须使用系统调用函数

单选题以下关于线程异步问题的说法不正确的是()A线程在应用程序开发过程中负责分担进程的耗时计算工作。B一个进程中如果需要多个线程共同协作才能完成业务计算的话,往往会涉及到线程之间的数据通讯。C线程依靠CPU调度分配时间片获得运行机会,当CPU时间片耗尽,线程将会停止运行等待CPU的再次分配。D由于线程的运行与停止是可控的,所以当多个线程之间需要同时对一块进程中的共享内存进程操作的时候,就有可能发生线程异步交互错误。