`
jsczxy2
  • 浏览: 1275464 次
  • 性别: Icon_minigender_1
  • 来自: 常州
文章分类
社区版块
存档分类
最新评论

Thread.sleep()和Thread.currentThread().sleep()区别

阅读更多

 

线程可以用继承Thread类或者实现Runnable接口来实现.

Thread.sleep()是Thread类的方法,只对当前线程起作用,睡眠一段时间.

如果线程是通过继承Thread实现的话这2个方法没有区别;

如果线程是通过实现Runnable接口来实现的,则不是Thread类,不能直接使用Thread.sleep()

必须使用Thread.currentThread()来得到当前线程的引用才可以调用sleep(),

所以要用Thread.currentThread().sleep()来睡眠...

分享到:
评论
3 楼 bzhao 2017-06-01  
我测试没啥区别啊!
2 楼 qq29oo 2016-08-17  
感觉不对啊,通过实现Runnable接口来实现的线程里,使用Thread.sleep()没问题,但使用Thread.currentThread().sleep()的话  IDE会出现警告
1 楼 somefuture 2016-06-24  
厉害,终于看到了

相关推荐

    C#多线程之Thread中Thread.IsAlive属性用法分析

    `Thread`类是.NET框架提供的用于创建和管理线程的核心类。其中,`Thread.IsAlive`属性是一个非常重要的成员,它允许开发者检查线程的当前状态,以确定线程是否已经启动并且仍在运行。在理解`Thread.IsAlive`属性的...

    Android:Handler的post()方法和Thread的start()方法执行Thread的run()方法的区别

    System.out.println("Activity-->"+ Thread.currentThread().getName()); } Runnable r = new Runnable() { @Override public void run() { // TODO Auto-generated method stub try { Thread...

    JavaThread.pdf

    - Thread.getThreadGroup()获取线程所属的线程组,Thread.interrupt()和Thread.currentThread().interrupted()分别用于中断和检查当前线程是否被中断。 10. **线程的等待/通知机制** - 使用wait()、notify()、...

    Thread.txt

    2. **线程管理**:通过调用`Thread.currentThread().sleep()`方法使当前线程休眠指定时间,实现定时更新计数器的功能。 3. **事件监听**: - `StartL`类实现了`ActionListener`接口,当点击“Start”按钮时启动...

    C#浏览器编程,学习使用

    浏览器代码设计主要是确定对上述的设计的功能在代码上怎样实现,包括选用的程序语言和编程平台选择、程序代码的编写、程序代码的调试、程序功能的测试等等。 4.4 浏览器编程设计平台(老师讲解2学时,学生理解4学时...

    Java多线程-线程安全问题练习题

    System.out.println(Thread.currentThread().getName() + "--->" + i); } } } ``` #### 分析与解答 在这个例子中,`Thread.sleep(1000 * 5)`是由主线程调用的,这意味着主线程会进入阻塞状态,等待5秒后再继续...

    C#多线程.doc

    Console.WriteLine($"Main thread's status: {Thread.CurrentThread.ThreadState}"); Console.WriteLine("Main thread is waiting for the worker thread to finish..."); // 等待新线程执行完成 newThread....

    Java sleep方法及中断方式、yield方法代码实例

    System.out.println("线程" + Thread.currentThread().getName() + "开始"); Thread.yield(); // 让其他线程有机会执行 System.out.println("线程" + Thread.currentThread().getName() + "结束"); } }).start...

    线程终止问题

    Thread.currentThread().isInterrupted())`,当发现中断时,循环结束,线程也就终止了。 以下是一个使用 `interrupt` 方法的例子,展示了在阻塞状态下终止线程: ```java public class ThreadInterrupt extends ...

    pythonthread(Python多线程处理).docx

    1. `threading.currentThread()`:返回当前线程对象。 2. `threading.enumerate()`:返回一个包含所有正在运行的线程列表。 3. `threading.activeCount()`:返回正在运行的线程数量,等同于`len(threading.enumerate...

    vb.net初学者系列【vb.net多线程开发】

    Thread.CurrentThread.Sleep(2000) ``` `CurrentThread`属性返回当前线程的引用。你可以通过`Thread.Sleep(System.Threading.Timeout.Infinite)`使线程无限期休眠,通过`Thread.Interrupt`中断休眠。此外,还有`...

    java多线程设置线程休眠案例

    System.out.println(Thread.currentThread().getName() + " 开始运行"); try { Thread.sleep(3000); // 休眠3秒 } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread....

    C# Tread浅析

    可以通过`Thread.CurrentThread`获取当前线程的信息。 ```csharp string str = Thread.CurrentThread.Name; Console.WriteLine("当前线程:" + str); ``` 2. **子线程**:除了主线程外,我们还可以通过`Thread...

    Java源码查看线程的运行状态.rar

    查看线程状态,可以使用`Thread.currentThread().getState()`方法,该方法返回一个`Thread.State`枚举值,代表当前线程的状态。 下面是一个简单的示例,展示如何查看线程状态: ```java import java.util....

    Java图片拉伸变形实例.rar

    Java图片拉伸变形实例,其实和图片缩放十分相似,图片翻折,绘制图像的Image对象和Grahpics对象,得到MediaTracker实例,for(int i=0; i(imageHeight/2); i ) { //实现图片的翻折效果  thread.sleep(30); //线程...

    ThreadDemo3.rar

    使用`Thread.currentThread().getId()`可获取当前线程的唯一ID,而`Thread.currentThread().getName()`则返回线程的名称。这些信息在调试多线程问题时非常有用。 5. **设置线程上下文加载器**: `Thread....

    C#多线程(.pdf)

    Console.WriteLine(Thread.CurrentThread.Name + "'Status: " + Thread.CurrentThread.ThreadState); Console.ReadLine(); } } } ``` 1. **Thread.CurrentThread**: 此处使用 `Thread.CurrentThread` 获取当前...

    Java中interrupt的使用.docx

    if (Thread.currentThread().isInterrupted()) { System.out.println("Yes, I am interrupted, but I am still running"); // 在这里响应中断,比如退出循环或清理资源 break; } else { System.out.println(...

    C#多线程学习

    Console.WriteLine(Thread.CurrentThread.Name + "'Status: " + Thread.CurrentThread.ThreadState); Console.ReadLine(); // 创建一个新的线程 Thread thread = new Thread(new ThreadStart(WorkerThread)); ...

Global site tag (gtag.js) - Google Analytics