参考答案和解析
D
更多“创建一个线程并让它处于可运行状态的语句是_ Thread A=new Thread(); A.start”相关问题
  • 第1题:

    语句Thread thread1=new SomeThreadClass()成功运行后,线程thread1处于生命周期的______状态。


    正确答案:新建状态
    新建状态

  • 第2题:

    怎样创建线程()

    A.通过Thread类的构造方法创建线程

    B.Thread类提供了start()方法创建线程

    C.通过实现Runnable接口创建线程

    D.通过使用Thread类提供的interrupt()方法创建线程


    参考答案:AC

  • 第3题:

    通过实现Runnable接口创建线程,请在下面横线处填入代码完成此程序。

    注意:不改动程序结构,不得增行或删行。

    class ThreadTest implements Runnable

    {

    Thread thrObj;

    public static void main(String args[])

    {

    System.out.println("这是一个通过实现接口创建线程的例子");

    ThreadTest testObj=new ThreadTest();

    testObj.create();

    }

    public void create()

    {

    if(thrObj= =null)

    {

    thrObj=new Thread(this,"myThread");

    ______

    }

    }

    public void run()

    {

    System.out.println("Thread"+throbj.getName()+":"+"在运行!");

    }

    }


    正确答案:thrObj.start();
    thrObj.start(); 解析:本题考查考生对如何通过实现Runnable接口创建线程及使用线程的掌握,这是一道简单应用题。程序中,ThreadTest类实现了Runnable接口,所以ThreadTest类必须重写Runnable接口中的run()方法。在create()方法创建了一个名为thrObj的线程,并调用Thread类中的start()方法启动该线程。语句thrObj=new Thread(this,"myThread");中,this是Thread构造方法的第一个参数,作为该线程的目标对象,它必须实现Runnable接口。第二个参数 myTread为线程的名称。在这种构造方法下,线程thrObj就以目标对象中的run()方法作为自己的run()方法,本例中,目标对象就是ThreadTest类的对象。

  • 第4题:

    Thread类中启动线程体的方法是( )。

    A.start()

    B.resume()

    C.init()

    D.run()


    正确答案:A
    解析:控制线程启停类的方法有:start (),线程体开始运行;stop (),强行中止线程运行; suspend (),挂起线程,挂起后的线程将不能自动恢复,只能在其他线程中调用resume()方法恢复线程的状态;resume (),恢复线程执行。所以选择A。选项D,run ()方法定义了线程体和线程的具体行为。

  • 第5题:

    如果使用Thread t=new Test()语句创建一个线程,则下列叙述正确的是

    A.Test类一定要实现Runnable接口

    B.Test类一定是Thread类的子类

    C.Test类一定是Runnable的子类

    D.Test类一定是继承Thread类并且实现Runnable接口


    正确答案:B
    解析:本题考查线程的使用。Java中可以通过实现Runnable接口来创建线程。通过这种方式创建线程是把Runnable的一个对象作为参数传递给Thread类的一个构造方法,该对象提供线程体run()。如果题目中Test实现Runnable接口,则创建线程的方法是Thread t=new Thread(new Test())。Java中另一种创建线程的方法是通过继承 Thread类,重写其中的run()方法定义线程体,然后直接创建该子类的对象即可创建线程。题目中使用Thread t=new Test()语句创建线程,其中直接创建Test类对象,可知该类一定是继承Thread类。因此,本题的正确答案是选项B。

  • 第6题:

    当使用SomeThread t=new SomeThread( )创建-个线程时,下列叙述中正确的是( )。

    A.Some Thread类是包含run( )方法的任意Java类

    B.Some Thread类-定要实现Runnable接口

    C.Some Thread类是Thread类的子类

    D.Some Thread类是Thread类的子类并且要实现Run-nable接口


    正确答案:C
    由SomeThreadt=newSomeThread()可知此题是通过继承Thread类来创建线程的。

  • 第7题:

    下列哪个方法用来定义线程的具体行为,也就是定义线程体?

    A.start( )

    B.run( )

    C.init( )

    D.thread( )


    正确答案:B
    解析:一般情况下,通过重写run()方法来定义线程体。

  • 第8题:

    下列程序通过实现Runnable接口创建一个线程,选择正确的语句填入程序的横线处。 class MyRun implements Runnable { String str; MyRun(String s) { str = s; } public void run() System.out.println(str); } } public class ex40 { public static void main(String[] args) { String name = "实现阶段Runnable 接口"; MyRun my = new MyRun(name); Thread th = th. start ( ); } }

    A.new MyRun(my)

    B.new Thread()

    C.new Thread(my)

    D.Thread(my)


    正确答案:C

  • 第9题:

    在创建Thread对象之后,调用线程的( )方法开始执行线程。

    A.start()

    B.interrupt()

    C.run()

    D.stop()


    正确答案:A
    解析:本题考查线程机制。选项A正确,为了运行线程,将调用它的start()方法,调用线程的start()方法将导致调用另外一个方法——线程对象中所必须具有的run()方法。 fun()方法是线程类的核心。通过添加 implements Runnable,创建和小程序相关的 Thread对象,并使用小程序的start()、stop()和run()方法,小程序将成为使用线程的程序。另外,千万要注意小程序和线程都有 start()方法,当创建使用线程的小程序时,这点会让人迷惑,但这两个方法是不同的,而且彼此之间没有任何联系。选项B错误,interrupt()方法中断一个正在运行的程序;选项C错误,run()是一个抽象方法,它是通过调用start()方法触发它运行:选项D错误,stop()方法终止一个线程的运行。由此可知本题的答案是A。

  • 第10题:

    从实现了Runnable接口的对象创建线程对象的方法是,建立一个单独的Thread对象,并把可运行对象传递给专门的Thread类的()方法。


    正确答案:构造

  • 第11题:

    填空题
    从实现了Runnable接口的对象创建线程对象的方法是,建立一个单独的Thread对象,并把可运行对象传递给专门的Thread类的()方法。

    正确答案: 构造
    解析: 暂无解析

  • 第12题:

    填空题
    语句Thread thread1=new SomeThreadClass()成功运行后,线程thread1处于生命周期的____状态。

    正确答案: 新建状态
    解析:
    调用一个线程类的构造方法,便创建了一个线程Thread myThread= new MyThreadClass();新建状态的线程还没有分配有关的系统资源,此时线程只能使用start()和stop()两种控制方法。

  • 第13题:

    请阅读下面程序 public class ThreadTest{ public static void main(String args[]) ( Thread t1=new Thread(new Hello()); Thread t2=new Thread(new Hello()); t1.start(); t2.start(); } } class Hello implements Runnable { int i; public void run() { while(true) { System.out.prinfin("Hello"+i++); if(i=5) break; } } } 该程序创建线程使用的方法是

    A.继承Thread类

    B.实现Runnable接口

    C.t1.start()

    D.t2.start()


    正确答案:B
    解析:本题考查线程的创建。Java中,线程的创建有两种方法:
      (1)通过实现Runnable接口创建线程。Runnable接口中只定义了一个run()方法作为线程体。
      (2)通过继承Thread类创建线程。Thread类本身实现了Runnable接口。
      无论使用哪种方法来创建线程,新建的线程不会自动运行,必须调用线程的start()方法,才能运行该线程。
      本题程序中的Hello类实现了Runnable接口,即采用的是第一种方法创建线程。因此,本题的正确答案是选项B。

  • 第14题:

    对于下面语句的说法,不正确的是( )。Thread thrObj=new Thread( );

    A.系统没有为该线程对象分配资源

    B.只能启动或者终止

    C.创建了-个空的线程对象

    D.可以调用其他方法


    正确答案:D
    本题考查线程的创建。通过new命令创建-个线程对象后,该线程对象就处于创建状态,上面的语句只是创建了-个空的线程对象,选项c说法正确。此时,系统并没有为该线程对象分配资源,选项A说法正确。处于这种状态的线程,只能启动或者终止,选项B说法正确。该线程此时并不能调用其他方法,如果调用其他方法就会失败并引起非法状态处理,选项D说法错误。

  • 第15题:

    对于下面语句的说法,不正确的是 Thread thrObj=new Thread();

    A.系统没有为该线程对象分配资源

    B.只能启动或者终止

    C.创建了一个空的线程对象

    D.可以调用其他方法


    正确答案:D
    解析:本题考查线程的创建。通过new命令创建一个线程对象后,该线程对象就处于创建状态,上面的语句只是创建了一个空的线程对象,选项C说法正确。此时,系统并没有为该线程对象分配资源,选项A说法正确。处于这种状态的线程,只能启动或者终止,选项B说法正确。该线程此时并不能调用其他方法,如果调用其他方法就会失败并引起非法状态处理,选项D说法错误,故应选。

  • 第16题:

    下列程序的运行结果是______。 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 线程2

    B.线程1 线程2

    C.线程1 线程2 线程1 线程2

    D.线程1 线程1 线程1 线程1


    正确答案:A
    解析:类A实现了Runnable接口,并且通过类的构造函数A(int x)传递整型参数给对象作为线程的编号。在run()线程体内,实现打印两个字符串。在main()方法中,用A类的2个对象创建了a1和a2两个线程,当a1和a2开始执行时,从A类的run()方法开始执行。

  • 第17题:

    在程序中,DataPool是一个数据池,能存放一个血型数据,线程a和线程b负责向其中存放数据,一次只能有一个线程向其中存放数据,数据放入DataPool以后,该线程随机休眠一段时间,让另外一个线程运行,请将程序补充完整。

    注意:请勿修改main()主方法和其他已有语句内容,仅在横线处填入适当语句。

    class PutData extends Thread

    {

    DataPool s;

    int c;

    String name;

    public PutData(DataPool s,String name)

    {

    this.s=s;

    this.name=name;

    }

    public void run()

    {

    for(int i=0;i<10000000;i++)

    {

    c=(int)(Math.random()*10);

    s.setData(c);

    System.out.println(name+":push"+c);

    try

    {

    ______((int) (Math.random()*1000));//休眠

    }

    catch(InterruptedException e)

    {}

    }

    }

    }

    class DataPool

    {

    private int data=0;

    public ______void setData(int d)

    {

    data=d;

    }

    }

    public class simple

    {

    public static void main(String[] args)

    {

    DataPool s=new DataPool();

    PutData a=new PutData(s,"Thread a");

    PutData b=new PutData(s,"Thread b");

    a.start();

    b.start();

    }

    }


    正确答案:sleep synchronized
    sleep synchronized 解析:本题考查知识点:线程的要领和使用、线程的同步和共享。解题思路:线程类Thread提供了一系列控制线程的方法,让线程休眠,就是其中的一种。本题中定义了PutData的两个实例a和b。PutData的run方法中,利用一个循环向DataPool中存放10000000个随机数据,每存放一个数据以后休眠一段时间,让其他线程运行。第1个空,让线程休眠使用的方法是 sleep()。该方法使线程暂停运行一段时间,在这段时间内线程不会抢占CPU资源,为其他线程的运行提供了机会。本题的第2个空是考查线程的同步和互斥的问题,当线程A和线程B都调用setData方法改变data数值时,在同一段时间内,只能允许一个线程进行操作,这就需要两个线程之间互斥访问setData()方法。synchronized允许线程独占地存取对象,当 synchronized声明的程序块已经被一个线程占用,其他线程就必须等待该线程放弃这个程序块的控制权以后才能对其进行访问。因此,第2个空需要填写synchronized。

  • 第18题:

    下列程序创建了一个线程并运行,横线处应填入的正确代码是( )。 public class Try extends Thread{ public static void main(String args[]){ Thread t=new Try; ; } public void runf System.out.println(”Try!"); } }

    A.t.start

    B.t.class

    C.t.thread

    D.t.static


    正确答案:A
    A。【解析】start是类Thread的方法,其中start方法用于启动线程,使之从新建状态转入就绪状态并进入就绪队列排队,一旦轮到它来享用CPU资源时,就可以脱离创建它的主线程独立地开始自己的生命周期了。

  • 第19题:

    对于下面语句,不正确的说法是______。 Thread thrObj=new Thread( );

    A.系统没有为此线程对象分配资源

    B.只能启动或者终止

    C.创建了一个空的线程对象

    D.可以调用其他方法


    正确答案:D
    解析: 通过new命令创建一个线程对象后,此线程对象就处于创建状态,题目中的语句只是创建了一个空的线程对象,选项C说法正确。但此时系统并没有为此线程对象分配资源,处于这种状态的数据,只能启动或者终止,也不能调用其他方法,如果调用其他方法就会失败并引起非法状态处理。

  • 第20题:

    用Thread子类实现多线程的步骤顺序是( )

    A、声明Thread类的子类,创建Thread子类的实例,让线程调用start()方法

    B、声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例

    C、创建Thread子类的实例,让线程调用start()方法

    D、声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例,让线程调用start()方法


    正确答案:A

  • 第21题:

    下列说法中错误的一项是 ( )

    A.使用继承Thread类创建线程,可以直接调用线程的方法

    B.通过实现Runnable接口创建线程,体现了面向对象的思想

    C.Thread类从面向对象的角度看,是虚拟CPU的封装

    D.通过实现Runnable接口创建线程,会影响Thread类的体系


    正确答案:D
    解析:选项D的说法是错误的,通过实现Runnable接口创建线程,不会影响 Thread类的体系。其他选项是正确的。

  • 第22题:

    关于线程的创建过程,下面四种说法正确的有哪些?()

    • A、定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法
    • B、定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法
    • C、定义一个实现Runnable 接口的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法
    • D、定义一个实现Runnable 接口的类并实现run()方法,创建该类对象,然后调用run()方法

    正确答案:A,C

  • 第23题:

    多选题
    关于线程的创建过程,下面四种说法正确的有哪些?()
    A

    定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法

    B

    定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法

    C

    定义一个实现Runnable 接口的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法

    D

    定义一个实现Runnable 接口的类并实现run()方法,创建该类对象,然后调用run()方法


    正确答案: B,A
    解析: 暂无解析

  • 第24题:

    填空题
    在多线程程序设计中,如果采用继承Thread类的方式创建线程,则需要重写Thread类的____方法。

    正确答案: run
    解析:
    java.lang中的Thread类是多线程程序设计的基础。Java中的线程体是由线程类的run()方法定义,该方法定义线程的具体行为。可以有两种方式提供run()方法的实现:实现Runnable接口和继承Thread类。如果采用继承Thread类的方式创建线程,则需要重写Thread类的run()方法。