在java中 线程为什么要sleep? 那种情况下用到

如题所述

同步,异步是建立在共享数据的基础上的,跟线程是不同的概念,但是又相互联系。
联系的地方在于数据操作上:
例如:数字
int
num
=1;
线程1:在对num做+1的操作
线程2:也在对num做+1的操作
如果:在单位时间内,线程1,2没有先后顺序的进行+1运算,那么这就是异步。
反之,线程1做,线程2不做,线程2做,线程1不做,那么就是同步。
你上面操作只有一个线程,因为main做为主线程,在一般情况下,在java里是不做多线程考虑的,java中的线程指的是Thread或接口Runable。其实上你只有一个t1线程而已
温馨提示:内容为网友见解,仅供参考
无其他回答

sleep( ) 和 wait( ) 的这 5 个区别,你知道几个?
其次,应用场景上,sleep常用于线程短暂的休眠或轮询暂停,而wait则更多用于线程间的协作和通信,如等待某个条件满足。从所属类来看,sleep是Thread类的静态本地方法,而wait则是Object类的本地方法,这样的设计源于它们功能的不同:sleep针对的是线程自身的休眠,不需要对象锁;wait则涉及到对象的锁定,确...

java中thread.sleep是什么意思
sleep()方法是Thread类里面的,主要的意义就是让当前线程停止执行,让出cpu给其他的线程,但是不会释放对象锁资源以及监控的状态,当指定的时间到了之后又会自动恢复运行状态。wait()方法是Object类里面的,主要的意义就是让线程放弃当前的对象的锁,进入等待此对象的等待锁定池,只有针对此对象调动notify方...

***.sleep是什么意思?有什么作用
SLEEP函数还可视为一种延时工具,当程序需要暂停执行一段时间时,可以使用它。然而,值得注意的是,使用sleep()时,如果遇到中断异常,程序会抛出一个异常,开发者需要捕获并处理这个异常,以确保程序的正常运行。总的来说,***.sleep()方法是程序员在控制线程执行节奏时不可或缺的工具,通过它,可以实...

关于java多线程wait 和sleep方法
Java中的多线程,是一种抢占式的机制,而非分时机制。线程存在可运行、运行、阻塞、死亡四种状态。抢占式机制下,可运行状态的线程中,只有一个线程在执行。当多个线程共享资源时,需要同步。Thread类和Object类提供了sleep(),yield(),wait(),notify()等方法用于控制线程执行。每个对象拥有一个锁用于同步...

java线程休眠之sleep
实例显示,线程在睡眠时未释放监视器锁,导致另一线程无法获取。此现象揭示睡眠过程中对锁的管理。若睡眠线程被中断,会抛出InterruptedException异常。通过输出可见异常源为Java语言内部方法与自定义代码的结合。总结,本文阐述了Java线程睡眠机制,包括暂停与锁的管理,以及中断处理。感谢阅读,如有疑问或指正,...

java中sleep方法和wait方法的区别是什么?
Java 中的 wait 和 sleep 都能暂停线程,但它们的功能和使用场景有所不同。具体来说,wait 和 sleep 的主要区别在于以下几点:首先,wait 方法是对象的一个同步方法,用于线程间通信,让线程等待特定对象的信号。它通常与 synchronized 关键字结合使用,确保线程安全。另一方面,sleep 方法是 Thread 类的...

java在循环内令线程短暂休眠的作用是什么
比如你玩一个贪吃蛇的游戏,你总不希望啥都没看见你就挂了吧 让蛇能一步一步地走,就是Thread.sleep(1000)的作用,时间的单位是毫秒 等级越高,sleep的时间越短,蛇走的就越快

java中sleep和join和yield和wait和notify的区别
1、sleep()使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,...

Java多线程中join、yield、sleep方法详解
在Java多线程编程中,Thread类扮演关键角色。掌握Thread中join、yield、sleep方法,是多线程代码开发的基础。以下总结这3个方法的含义及应用。sleep方法,静态本地方法,调用底层C库实现睡眠。接收毫秒参数,让当前线程睡眠指定时间。睡眠期间,线程不会释放锁。会抛出InterruptedException异常。示例代码显示,多个...

关于java中线程(Thread)问题?
1.sleep()使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是如果有Synchronized同步块,其他线程仍然不同访问共享数据。注意该方法要捕获异常 比如有两个线程同时执行(没有Synchronized),一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,如果...

相似回答