`
jjhpeopl
  • 浏览: 109927 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

线程休眠的重要性

阅读更多

 

 

不说太多废话,直接上代码

public void run() {

      while (true) {

            
            //很简单的逻辑处理,不涉及其他线程数据


            continue;



	}
}

 在以上代码中,线程执行逻辑处理后,并没有任何停顿,线程直接继续运行。这种情况下,一个线程执行就可能导致CPU很高,再加几个线程一起执行的话,会变成100%。

 

而如果改为以下方式

public void run() {

	while (true) {

            
            //逻辑处理

            try {
                Thread.sleep(100);
            } catch (Exception e) {
                e.printStackTrace();
            }

             continue;

	}
}

 即使把线程数变为原来的几十倍,CPU也不会占用很高。

从两次对比来看,线程的休眠是非常重要的,即使线程做很简单逻辑处理,也是需要休眠的,给CPU充分的时间处理其他事情。

小弟只是做了表层的实验,欢迎各位拍砖!

分享到:
评论

相关推荐

    java中的线程休眠例子

    Java中的线程休眠是多线程编程中的一个重要概念,它允许我们控制线程的执行流程,让线程在指定的时间内暂停执行,以便更好地管理系统资源和协调多个线程间的交互。在Java中,线程休眠主要通过`Thread.sleep()`方法...

    C# 如何挂起线程、休眠线程和终止线程(源码例)

    因此,除非你完全确定线程不会进行任何重要的清理操作,否则应避免使用此方法。通常,更安全的做法是通过设置共享标志(例如使用volatile关键字修饰的变量)来通知线程自行终止,或者在执行到某个已知点时检查取消...

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

    线程休眠是多线程控制中的一个重要概念,它可以让一个正在运行的线程暂停指定的时间,然后继续执行。这在需要定时操作或者线程同步时非常有用。本案例将深入讲解如何在Java中实现多线程并使用线程休眠。 首先,我们...

    pintos 线程休眠实现

    《Pintos线程休眠实现详解》 在操作系统领域,线程的管理是至关重要的一个环节,它关乎系统的并发性和资源调度效率。Pintos项目是一个为教学目的设计的简单操作系统,它提供了多线程的支持。在这个项目中,线程休眠...

    java 参赛者的比赛生活(线程休眠唤醒)

    在Java编程语言中,线程休眠和唤醒是多线程编程中的重要概念,它们用于控制线程的执行流程和优化资源利用。本主题聚焦于Java参赛者在比赛中如何运用这些技术来解决实际问题。 首先,让我们理解线程休眠(Thread....

    唤醒阻塞休眠线程示例

    在多线程编程中,线程的控制与协作是至关重要的。标题“唤醒阻塞休眠线程示例”和描述“如何唤醒或者退出被阻塞,休眠的线程,非TerminateXXX方法”提示我们要探讨的是如何优雅地管理线程状态,而不是粗暴地终止它们...

    Java线程调度之线程休眠用法分析

    线程休眠是Java中实现线程调度的一个重要工具,它允许当前运行的线程暂停执行,将CPU资源释放给其他线程。这有助于避免单个线程过度占用CPU,从而改善整体程序的响应性和效率。线程休眠由`Thread.sleep(long millis,...

    Java中线程休眠编程实例

    在Java编程中,线程是程序执行的独立单元,它允许程序并发地执行多个任务。在多线程环境中,有时我们需要让某个线程暂时停止执行一段时间,以便其他线程有机会...记住,合理使用线程休眠能有效提高程序的响应性和效率。

    详解Java中的线程让步yield()与线程休眠sleep()方法

    本文将详细解析Java中的线程让步方法`yield()`以及线程休眠方法`sleep()`,并与线程等待的`wait()`方法进行对比。 首先,线程让步`yield()`方法的主要作用是让当前线程主动放弃执行权,让其他处于就绪状态且具有...

    休眠与唤醒1

    在Pintos操作系统(一种用于教学的简化版UNIX系统)中,线程休眠函数的修改至关重要,因为它直接影响到系统如何处理多线程间的协作。通常,线程休眠不会导致CPU忙等待,而是将线程的状态改为不可运行,释放CPU资源。...

    线程的挂起、唤醒和终止

    在实际开发中,我们需要遵循最佳实践,避免使用已过时的线程控制方法,而是采用更安全的同步机制和中断机制,以确保程序的稳定性和可靠性。通过不断学习和实践,我们可以更好地驾驭线程,从而提高软件的性能和用户...

    Java面向对象程序设计-并发(线程的插队与休眠).pptx

    休眠是指让当前线程休眠一段时间,释放CPU资源,让其他线程有机会执行的机制。Java提供了sleep()方法来实现线程休眠。sleep()方法可以让当前线程休眠一段时间,休眠结束后转为就绪状态。例如,在以下代码中,线程...

    Java并发编程示例(五):线程休眠与恢复

    2. 在`run()`方法中,编写一个循环,循环10次,每次循环打印当前时间,并调用`TimeUnit.SECONDS.sleep(1)`使线程休眠1秒钟。 3. 使用`try-catch`块捕获`InterruptedException`,当线程被中断时,可以打印相关信息并...

    Android使用listview实现分页刷新(线程休眠模拟)

    分页刷新是优化用户体验的重要手段,特别是当数据量过大时,避免一次性加载所有数据,而是分批次加载,提高加载速度,减少内存消耗。本教程将详细介绍如何在Android中利用ListView实现分页刷新,并结合线程休眠来...

    介绍堆栈,线程 如何解决内存溢出

    在IT领域,堆栈和线程是两个至关重要的概念,特别是在多任务并行处理和内存管理方面。本文将深入探讨这两个主题以及如何解决内存溢出问题,以帮助你在笔试和面试中表现出色。 首先,我们来理解堆栈。堆栈是一种特殊...

    线程的几个重要方法.doc

    线程是Java编程中并发处理的重要概念,它们允许程序同时执行多个任务,从而提高程序的效率和响应性。本文将详细讲解Java中线程的几个关键方法及其应用场景。 1. `run()`方法 `run()`方法是线程执行的主要逻辑所在。...

    线程池使用介绍用程序可以有多个线程,这些线程在休眠状态中需要耗费大量时间来等待事件发生。其他线程可能进入睡眠状态,并且仅定期被唤醒以轮循更改或更新状态信息,然后再次进入休眠状态

    线程池是多线程编程中的一个重要概念,它旨在优化线程的管理和使用,从而提高系统的效率和响应性。在应用程序中,多个线程可能会处于等待状态,等待某个事件的发生或者进行周期性的状态检查,这样的操作会消耗资源,...

    线程间的调用

    例如,`sleep(1000)`会让线程休眠1秒钟。 挂起(Suspend)和恢复(Resume)操作在某些旧的多线程API中存在,但它们通常不推荐使用,因为它们可能导致死锁。挂起线程会使它进入阻塞状态,不再占用CPU,而恢复线程则...

    Java多线程机制和线程之间的协作

    比如调用sleep()使线程休眠,等待同步锁,调用wait()进入等待状态,或者等待I/O操作完成。线程在这些情况下会被放入阻塞队列,直到满足条件重新进入就绪状态。 线程间的协作和同步是多线程编程的关键。Java提供了...

    Java线程:线程状态的转换

    1. **睡眠**:使用`Thread.sleep(long millis)`或`Thread.sleep(long millis, int nanos)`方法让当前线程休眠一段时间,以“减慢线程”。例如: ```java try { Thread.sleep(123); } catch ...

Global site tag (gtag.js) - Google Analytics