`
schy_hqh
  • 浏览: 556067 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

(多线程)多线程中sleep与wait的区别

 
阅读更多

 

1.sleep(time)

 

2.wait() / wait(time)

 

 

区别:

何时解除冻结状态:

sleep(time) 必须指定睡眠时间,时间一到,自动解除冻结状态

wait()  可以不指定时间,由notify()/notifyAll()唤醒

wait(time)可以指定时间,时间到,不再等待

 

cpu执行权与锁的释放:

sleep(time)  进入睡眠,则释放CPU执行权,继续持有锁

wait()/wait(time)  进入等待,则释放CPU执行权,同时释放锁

 

分享到:
评论

相关推荐

    多线程sleep,yield,wait区别

    理解它们的区别有助于编写出更加高效和可控的多线程程序。 1. **sleep() 方法** - `Thread.sleep(millisecond)` 方法来自 `java.lang.Thread` 类,它使当前正在执行的线程暂停指定的毫秒数,并将线程的执行权交还...

    Linux多线程编程,替代sleep的几种方式

    我只想要进程的某个线程休眠一段时间的,可是用sleep()是将整个进程都休眠的,这个可能达不到,我们想要的效果了。目前我知道有三种方式:  1、usleep  这个是轻量级的,听说能可一实现线程休眠,我个人并不...

    Java线程中wait,await,sleep,yield,join用法总结.pdf

    在Java编程中,多线程的使用是实现程序并发运行的重要手段。本文将总结五个关键的线程控制方法:wait()、await()、sleep()、yield()和join()。这些方法各自有独特的用途和不同的工作机制。 一、wait()、notify()、...

    Java多线程机制(讲述java里面与多线程有关的函数)

    Java多线程机制是Java编程中至关重要的一部分,它允许程序同时执行多个任务,提升应用程序的效率和响应性。以下是对各个知识点的详细说明: 9.1 Java中的线程: Java程序中的线程是在操作系统级别的线程基础上进行...

    深入理解Wait、Notify和Wait与sleep区别

    本文将深入探讨`wait()`, `notify()`以及它们与`sleep()`方法的区别,这些都是Java中与线程同步密切相关的概念。 首先,`wait()`, `notify()`和`notifyAll()`是Object类中的方法,它们主要用于线程间通信和协作。...

    java多线程Demo

    Java多线程是Java编程中的一个重要概念,它允许程序同时执行多个任务,提高了程序的效率和响应速度。在Java中,实现多线程有两种主要方式:继承Thread类和实现Runnable接口。 1. 继承Thread类: 当我们创建一个新...

    Java多线程知识点总结

    Java多线程是Java编程语言中一个非常重要的概念,它允许开发者在一个程序中创建多个执行线程并行运行,以提高程序的执行效率和响应速度。在Java中,线程的生命周期包含五个基本状态,分别是新建状态(New)、就绪...

    java多线程进度条

    为了在多线程中同步进度更新,我们可以利用synchronized关键字、wait()、notify()方法,或者使用Java并发库中的高级工具,如Semaphore、CyclicBarrier或CountDownLatch等。 一个简单的进度条实现可以采用共享变量...

    多线程面试59题(含答案).pdf

    涵盖了多线程的基本概念、优点、线程和进程的区别、Java 实现多线程的方式、启动线程方法的区别、终止线程的方式、线程的生命周期、wait()和 sleep()方法的区别、多线程同步的方法、死锁的定义和避免方法、多线程...

    java多线程经典案例

    Java多线程是Java编程中的重要概念,它允许程序同时执行多个任务,极大地提升了程序的效率和性能。在Java中,实现多线程有两种主要方式:通过实现Runnable接口或者继承Thread类。本案例将深入探讨Java多线程中的关键...

    csharp多线程示例(全)

    多线程是C#中的一个重要特性,它允许程序同时执行多个任务,从而提高效率和响应速度。本示例集合旨在深入讲解C#多线程的概念,并提供实际可运行的代码示例,帮助开发者理解和应用多线程技术。 一、多线程基础知识 ...

    面试中多线程问题

    "面试中多线程问题" 多线程是 Java 编程中一个重要的概念,掌握多线程可以帮助开发者更好地编写高效、稳定的程序。以下是面试中常见的多线程问题和解释: 1. 实现多线程的几种方法? Java 中有两种方式可以实现多...

    java多媒体与多线程处理实验

    本次实验旨在深入探索Java中多线程处理与多媒体应用的核心技术,具体目标包括: 1. **理解线程概念**:线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单元。 2. **线程状态与...

    Java多线程wait和notify

    总结来说,Java的 `wait()` 和 `notify()` 提供了一种在多线程环境中控制线程执行的机制。通过合理使用这些方法,我们可以实现线程间的协作,精确控制子线程的运行状态。然而,这种方式虽然灵活,但管理起来相对复杂...

    AutoIt多线程Msgbox版

    在标题和描述中提到的“AutoIt多线程Msgbox版”指的是利用AutoIt来实现多线程处理,并在每个线程中使用Msgbox函数来显示消息。 多线程是程序设计中的一个重要概念,它允许同时执行多个不同的任务,提高了程序的并发...

    多线程实验报告.docx

    在本实验中,我们主要探讨的是Java编程中的多线程技术及其在实际应用中的实现。实验的目的是通过创建一个多线程程序,让学生理解和掌握Java中线程的生命周期及线程间的协作。实验内容分为两大部分:计算线程和读取...

    在C#中编写多线程应用程序

    ### 在C#中编写多线程应用程序 #### 引言 多线程是现代软件开发中的一个重要概念,尤其是在像C#这样的高级编程语言中。它允许程序同时执行多个任务,从而提高了应用程序的性能和响应性。本文将详细介绍如何在C#中...

    shell的多线程&当前文件夹下批量插入MySQL

    本文将详细讲解如何在Shell脚本中实现多线程,并结合实例介绍如何批量插入MySQL数据库。 首先,我们需要理解为什么要使用多线程。在处理大量并发任务时,多线程可以并发执行任务,避免串行执行的低效,尤其在需要对...

    多线程

    在IT领域,多线程是程序设计中的一个重要概念,尤其在服务器端开发和高并发场景中,它的应用广泛且至关重要。多线程是指一个进程中同时存在多个执行流,每个线程都代表了进程的一部分独立执行的任务。理解并掌握多...

    java项目史上最简单的多线程使用方法(demo)

    在Java编程中,多线程是一项关键技能,尤其在处理并发任务、提高系统效率和响应速度时至关重要。本文将深入探讨Java项目中最简单的多线程使用方法,通过一个名为"thread-test"的示例项目来讲解如何在企业实际场景中...

Global site tag (gtag.js) - Google Analytics