网站大量收购独家精品文档,联系QQ:2885784924

Java多线程与并发库高等应用.doc

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java多线程与并发库高等应用

张孝祥_Java多线程与并发库高级应用 【视频介绍:】 Java线程是一项非常基本和重要的技术,在偏底层和偏技术的Java程序中不可避免地要使用到Java线程技术,特别是android手机程序和游戏开发中,多线程成了必不可少的一项重要技术。但是,很多Java程序员对Java线程技术的了解都仅停留在初级阶段,在项目中一旦涉及到多线程时往往就表现得糟糕至极,所以,软件公司常常使用Java线程技术来考察面试者的基本功和判断其编码水平的高低。 本套视频教程是专门为了帮助那些已经学习和了解过、但掌握得并不是很深入的人们提高java线程技术而讲解的,所以,Java线程初学者学习本视频教程时可能会比较吃力,可能必须耐心学习多遍才能渐入佳境,但是,你一旦掌握了其中的内容,你对Java线程技术的了解将会相当出众! 【视频目录列表:】 01. 传统线程技术回顾 02. 传统定时器技术回顾 03. 传统线程互斥技术 04. 传统线程同步通信技术 05. 线程范围内共享变量的概念与作用 06. ThreadLocal类及应用技巧 07. 多个线程之间共享数据的方式探讨 08. java5原子性操作类的应用 09. java5线程并发库的应用 10. Callable与Future的应用 11. java5的线程锁技术 12. java5读写锁技术的妙用 13. java5条件阻塞Condition的应用 14. java5的Semaphere同步工具 15. java5的CyclicBarrier同步工具 16. java5的CountDownLatch同步工具 17. java5的Exchanger同步工具 18. java5阻塞队列的应用 19. java5同步集合类的应用 20. 空中网挑选实习生的面试题1 21. 空中网挑选实习生的面试题2 22. 空中网挑选实习生的面试题3 23. 源代码与资料 01. 传统线程技术回顾 传统是相对于JDK1.5而言的 传统线程技术与JDK1.5的线程并发库 线程就是程序的一条执行线索/线路。 创建线程的两种传统方式 创建Thread的子类,覆盖其中的run方法,运行这个子类的start方法即可开启线程 Thread thread = new Thread() { @Override public void run() { while (true) { 获取当前线程对象 获取线程名字 Thread.currentThread() threadObj.getName() 让线程暂停,休眠,此方法会抛出中断异常InterruptedException Thread.sleep(毫秒值); } } }; thread.start(); 创建Thread时传递一个实现Runnable接口的对象实例 Thread thread = new Thread(new Runnable() { public void run() {} }); thread.start(); 问题:下边的线程运行的是Thread子类中的方法还是实现Runnable接口类的方法 new Thread( b、传递实现Runnable接口的对象 new Runnable() { public void run() {} } ){ a、覆盖Thread子类run方法 public void run(){} }.start(); 分析:new Thread(Runnable.run()){run()}.start(); 子类run方法实际就是覆盖父类中的run方法,如果覆盖了就用子类的run方法,不会再找Runnable中的run方法了,所以运行的是子类中的run方法 总结: 由Thread类中的run方法源代码中看出,两种传统创建线程的方式都是在调用Thread对象的run方法,如果Thread对象的run方法没有被覆盖,并且像上边的问题那样为Thread对象传递了一个Runnable对象,就会调用Runnable对象的run方法。 多线程并不一定会提高程序的运行效率。举例:一个人同时在三张桌子做馒头 多线程下载:并不是自己电脑快了,而是抢到更多服务器资源。例:服务器为一个客户分配一个20K的线程下载,你用多个线程,服务器以为是多个用户就分配了多个20K的资源给你。 02. 传统定时器技术回顾 传统定时器的创建:直接使用定时器类Timer a、过多长时间后炸 new

文档评论(0)

yxutcangfp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档