java多线程与并发库高级应用

java多线程与并发库高级应用

ID:6164619

大小:695.00 KB

页数:42页

时间:2018-01-05

java多线程与并发库高级应用_第1页
java多线程与并发库高级应用_第2页
java多线程与并发库高级应用_第3页
java多线程与并发库高级应用_第4页
java多线程与并发库高级应用_第5页
资源描述:

《java多线程与并发库高级应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、张孝祥_Java多线程与并发库高级应用【视频介绍:】Java线程是一项非常基本和重要的技术,在偏底层和偏技术的Java程序中不可避免地要使用到Java线程技术,特别是android手机程序和游戏开发中,多线程成了必不可少的一项重要技术。但是,很多Java程序员对Java线程技术的了解都仅停留在初级阶段,在项目中一旦涉及到多线程时往往就表现得糟糕至极,所以,软件公司常常使用Java线程技术来考察面试者的基本功和判断其编码水平的高低。本套视频教程是专门为了帮助那些已经学习和了解过、但掌握得并不是很深入的人们提高java线程技术而讲解的,所以,Java线

2、程初学者学习本视频教程时可能会比较吃力,可能必须耐心学习多遍才能渐入佳境,但是,你一旦掌握了其中的内容,你对Java线程技术的了解将会相当出众!【视频目录列表:】01.传统线程技术回顾02.传统定时器技术回顾03.传统线程互斥技术04.传统线程同步通信技术05.线程范围内共享变量的概念与作用06.ThreadLocal类及应用技巧07.多个线程之间共享数据的方式探讨08.java5原子性操作类的应用09.java5线程并发库的应用10.Callable与Future的应用11.java5的线程锁技术12.java5读写锁技术的妙用13.java5条

3、件阻塞Condition的应用14.java5的Semaphere同步工具15.java5的CyclicBarrier同步工具16.java5的CountDownLatch同步工具17.java5的Exchanger同步工具18.java5阻塞队列的应用19.java5同步集合类的应用20.空中网挑选实习生的面试题121.空中网挑选实习生的面试题222.空中网挑选实习生的面试题323.源代码与资料01.传统线程技术回顾传统是相对于JDK1.5而言的传统线程技术与JDK1.5的线程并发库线程就是程序的一条执行线索/线路。创建线程的两种传统方式1.创建

4、Thread的子类,覆盖其中的run方法,运行这个子类的start方法即可开启线程Threadthread=newThread(){@Overridepublicvoidrun(){while(true){获取当前线程对象获取线程名字Thread.currentThread()threadObj.getName()让线程暂停,休眠,此方法会抛出中断异常InterruptedExceptionThread.sleep(毫秒值);}}};thread.start();1.创建Thread时传递一个实现Runnable接口的对象实例Threadthrea

5、d=newThread(newRunnable(){publicvoidrun(){}});thread.start();问题:下边的线程运行的是Thread子类中的方法还是实现Runnable接口类的方法newThread(b、传递实现Runnable接口的对象newRunnable(){publicvoidrun(){}}){a、覆盖Thread子类run方法publicvoidrun(){}}.start();分析:newThread(Runnable.run()){run()}.start();子类run方法实际就是覆盖父类中的run方法,

6、如果覆盖了就用子类的run方法,不会再找Runnable中的run方法了,所以运行的是子类中的run方法总结:由Thread类中的run方法源代码中看出,两种传统创建线程的方式都是在调用Thread对象的run方法,如果Thread对象的run方法没有被覆盖,并且像上边的问题那样为Thread对象传递了一个Runnable对象,就会调用Runnable对象的run方法。多线程并不一定会提高程序的运行效率。举例:一个人同时在三张桌子做馒头多线程下载:并不是自己电脑快了,而是抢到更多服务器资源。例:服务器为一个客户分配一个20K的线程下载,你用多个线程

7、,服务器以为是多个用户就分配了多个20K的资源给你。02.传统定时器技术回顾传统定时器的创建:直接使用定时器类Timera、过多长时间后炸newTimer().schedule(TimerTask定时任务,Datetime定的时间);b、过多长时间后炸,以后每隔多少时间再炸newTimer().schedule(TimerTask定时任务,Long延迟(第一次执行)时间,Long间隔时间);TimerTask与Runnable类似,有一个run方法Timer是定时器对象,到时间后会触发炸弹(TimerTask)对象示例:newTimer().sch

8、edule(newTimerTask()定时执行的任务{publicvoidrun(){SOP(“bombing”);}显

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。