快期末考试了,下面是一些多线程题目的解析,希望对大家有所帮助,哪里不足请多多指教
一(2)
解析:
package Fanxing;
public class Text1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//Thread.sleep(9000);
//System.out.println(“sleep”);
//为什么会报错
//1.sleep
// 在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。
//怎么处理
//抛出异常
//InterruptedException
//2.当线程在活动之前或活动期间处于正在等待、休眠或占用状态且该线程被中断时,抛出该异常。有时候,一种方法可能希望测试当前线程是否已被中断,如果已被中断,则立即抛出此异常。
try {
Thread.sleep(9000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("sleep");}
二
package thead;
public class Example implements Runnable {
//答案说没正确实现Runnable接口
// 那么怎么才算是正确实现呢
public static void main(String[] args) {
Example my = new Example();
Thread t = new Thread(my);
t.start();
}
public void run(int limit) {
for (int x = 0; x < limit; x++) {
System.out.println(x);
}
}
@Override
public void run() {
// TODO Auto-generated method stub
}
}
其他实现Runnable接口的方法
说到这就在复习下Runnable接口启动线程的步骤
实现Runnable接口
1.定义一个类MyRunnable实现Runnable接口
2.在Myrunnable类中重写run方法
3.创建MyRunable类的对象
4.创建Thread类的对象,把MyRunnable对象作为构造方法的参数
5.启动线程
具体见这篇博客:小白自学线程笔记(2)
三 *
- 解析:
`package zixue;
public class Text2 extends Thread {
public static void main(String[] args) {
// TestMyThread testMyThread=new TestMyThread();
// TODO Auto-generated method stub
try {
Thread thread = new Text2();
thread.start();
thread.start();
thread.start();
} catch (IllegalThreadStateException e) {
// TODO: handle exception
e.getStackTrace();
}
}
}
class text01{
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println("$$$");
}
}
}`
这样就不会报错了