`
shift8
  • 浏览: 146843 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

10、线程相关

阅读更多

Thread.sleep()、Thread.wait() 和Thread.yield()的区别

Thread.yield() 会将当前线程暂时让位一小段时间,让其它的线程有机会运行,过了这段时间后,该线程继承运行。上述功能也可以用Thread.sleep()方法实现。

Object.wait() 和Thread.yield()有什么区别

1)定义上   wait()   的启动办法是notify()   和   notifyAll()方法;yield()会自动切换回来。   
2)wait() 方法是object的所以他只停止了current   Thread   的一个锁,这可能产生的结果就是如果还有锁锁着其他threads那么那些thread可就惨了,所以要慎用; yield()   主要用在自行判断优先级的场合,是一个主动的暂停。3)wait()将所有资源让出来,等得到通知后在参加资源竞争,yield()将cpu资源让出来但 马上就参加cpu资源竞争。

 

答案 :sleep 是线程类 (Thread) 的静态方法 , 导致此线程暂停执行指定时间,给执行机会给其他
线程,但是监控状态依然保持,
到时后会自动恢复。调用 sleep 不会释放对象锁。 wait() 是 Object 类的方法,对此对象调用 wait
方法导致本线程放弃对象锁,进入等待
此对象的等待锁定池,只有针对此对象发出 notify 方法 ( 或 notifyAll) 后本线程才进入对象锁

分享到:
评论

相关推荐

    java多线程设计模式详解(PDF及源码)

    本书浅显易懂的介绍了JAVA线程相关的设计模式,通过程序范例和UML图示来一一解说,书中代码的重要部分加了标注以使读者更加容易理解,再加上图文并茂,对于初学者还是程序设计高手来说,这都是一本学习和认识JAVA...

    10分钟入门多线程-思维导图

    描述多线程基础概念,在计算机中的资源使用,以及C#编程中涉及到的Thread类、线程池等相关概念 重点融合了多线程的使用场景相关知识,能够在短时间能让阅读者从入门到精通

    多线程下载技术论文.rar

    线程可以理解为下载的通道,一个线程就是一个文件的下载通道,多线程也就是同时开起好几个下载通道.当服务器提供下载服务时,使用下载者是共享带宽的,在优先级相同的情况下,总服务器会对总下载线程进行平均分配.线程越...

    多线程编程指南PDF

    多线程基础介绍.........................................................................................................................................15 定义多线程术语...................................

    个人总结的深入java多线程开发

    看完《think in java》多线程章节,自己写的多线程文档,还结合了其他的相关网络资料。 线程 一. 线程池 1)为什么要使用线程池 2 2)一个具有线程池的工作队列 3 3)使用线程池的风险: 4 4)有效使用线程池的原则 5...

    java-多线程下载器(支持断点续传、线程加减)包含源码和可运行jar包 第二版

    17、菜单栏“功能介绍”,查看下载器的相关功能介绍; 18、程序退出前会自动暂停所有正在下载的任务,并保存到临时文件中, 下次启动程序可以继续下载; 19、程序启动时,会在电脑中检查创建myDownloader下载器的...

    C++ 使用CMutex 类实现线程同步

    C++ 使用CMutex 类实现线程同步,将了解到声明线程函数,定义全局变量m_Sec,程序睡眠10秒,锁定临界区,对临界区进行解锁,输出变量等知识点。

    VC 启动多线程的方法和代码举例.rar

    这是一个完整的VC多线程源码例子,主要演示VC 6.0编程环境下,如何实现启动多线程的方法和代码举例,创建一个信号量,计数的初始值和最大值都为10,启动线程,初始为挂起状态,将线程指针添加到数组中,线程结束时不...

    android 网络应用轻量框架-多线程管理-高效缓存-设计模式

    如果抛出异常则通知相关单位=(如果银行柜台处理不了一个人的业务就打电话给大堂经理) 设置柜台的监听回调=(A委托B去银行请求数据,当B去银行处理业务失败了,通知A。) 设置撤销机制和线程安全= 某机关让A和B去...

    Python 多线程+多进程简单使用教程,如何在多进程开多线程

    关于python多进程多线程的相关基础知识,在我之前的博客有写过,并且就关于python多线程的GIL锁问题,也在我的一篇博客中有相关的解释。 为什么python多线程在面对IO密集型任务的时候会产生加速作用? 为什么python...

    多线程编程指南(系统描述了线程标准 线程同步 多线程编程原则 等)

    1 多线程基础介绍15 定义多线程术语15 符合多线程标准16 多线程的益处17 提高应用程序的响应 17 有效使用多处理器17 改进程序结构17 占用较少的系统资源17 结合线程和RPC(远程过程调用)18 多线程概念18 并发性和...

    10个VC++多线程操作实例源代码

    内容索引:VC/C++源码,系统相关,多线程 10个VC++多线程操作实例源代码,内容涉及如何安全终止线程、如何创建UI线程、如何创建Worker线程、如何等待线程结束、如何挂起和恢复线程、如何获得线程的退出码、如何使用...

    java多线程设计模式 (PDF中文版, 附源码)

    目录: 漫谈UML Introduction 1 Java语言的线程 Introduction 2 多线程程序的评量标准 第1章 Single Threaded Execution——能通过这座桥的,只有一个人 ...附录D 线程相关的主要API 附录E 参考文献

    可扩展多线程异步Socket服务器框架EMTASS 2.1(C#版)

    用C#实现的、基于.NET 2.0的可扩展多线程异步Socket服务器框架EMTASS 2.1源码和Demo。有关该框架的设计说明请参考拙文:http://blog.csdn.net/hulihui/archive/2008/10/27/3158613.aspx

    基于TCP-IP多线程文件传输

    与文件传送相关的网络消息号为负数,具体如下: 消息号 格式 说明 -16 -16+ nnnnnnnnnn+ // 文件长度(10字节) aaa // 文件名 请求文件传输 由发送方发送 -17 -17+ nnnnnnnnnn // 已接收字节数(10字节) 接受文件传输...

    JAVA多线程1

    第10章 JAVA多线程入门我们要学习多线程,就不可避免的需要学习一些计算机组成的一些知识,特别是cpu和内存相关的一些知识,我用一张简单的图来描述目前的计算机

    可扩展多线程异步Socket服务器框架EMTASS 2.0(C#版)

    用C#实现的、基于.NET 2.0的可扩展多线程异步Socket服务器框架EMTASS 2.0(C#版)源码和Demo。有关该框架的设计说明请参考拙文:http://blog.csdn.net/hulihui/archive/2008/10/27/3158613.aspx。

    基础技术部牛路《Java多线程入阶分享》纯干货

    Java多线程入阶干货分享 1.使用线程的经验:设置名称、响应中断、使用ThreadLocal 2.Executor:ExecutorService和Future 3.阻塞队列:put和take、offer和poll、drainTo 4.线程间通信:lock、...10.图书、相关网络资源

    100道多线程面试题,和面试官扯皮没问题了!

    以下给大家分享了100道多线程相关面试题,不打没有准备的战。加油! 文章目录1.什么是进程?2.什么是线程?3.线程的实现方式?4.Thread 类中的start() 和 run() 方法有什么区别?5.线程NEW状态6.线程RUNNABLE状态7.线程...

Global site tag (gtag.js) - Google Analytics