java线程与模式总结

java线程与模式总结

ID:8959346

大小:107.50 KB

页数:9页

时间:2018-04-13

java线程与模式总结_第1页
java线程与模式总结_第2页
java线程与模式总结_第3页
java线程与模式总结_第4页
java线程与模式总结_第5页
资源描述:

《java线程与模式总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、线程是Java的一大特色,从语言上直接支持线程,线程对于进程来讲的优势在于创建的代价很小,上下文切换迅速,当然其他的优势还有很多,缺点也是有的,比如说对于开发人员来讲要求比较高,不容易操作,但是Java的线程的操作已经简化了很多,是一个比较成熟的模型。很多时候,我们都用不到线程,但是当我们有一天不走运(或者走运)的时候,我们必须要面对这个问题的时候,应该怎么办呢?本文是我的学习笔记和一些总结,试图解决这个问题,引领还没有接触过Java线程的开发人员进入一个Java线程的世界,其实很多东西在网路上已经有朋友总结过了,不过我感觉没有比较循序渐进,要么

2、太基础,要么太高深,所以这边我由浅到深的总结一下。但是很显然,我的资历尚浅,能力也很有限,如果有什么错误还望不吝赐教!麻烦发送mail到:fantian830211@163.com而且,这些大部份的都有源码,如果需要也可以发mail到这个邮箱,真的非常希望有人能指正我的错误!(一)基本的API介绍1.  如何创建一个可以执行的线程类      创建一个线程有两个办法:继承Thread类或者实现Runnable接口。      首先:继承Thread类      这里一般只需要我们来重写run这个方法。下面是代码:publicclassSimple

3、ThreadextendsThread{      publicSimpleThread(){             start();      }      @Override   publicvoidrun(){             while(true){                    System.out.println(this);                    //Implyotherthreadcanrunnow,butwecannotassumethatitwill                    //

4、workwelleverytime,actually,mostoftimewecangetthesame                    //result,butnottoacertainty.                    //yield();                    try{                           sleep(100);                    }catch(InterruptedExceptione){                           e.print

5、StackTrace();                    }             }      }}其次:实现Runnable接口,代码如下:      PublicclassInnerimplementsRunnable{             privateThreadthread;             publicInner(Stringname){                    thread=newThread(this,name);                    thread.start();     

6、        }             publicvoidrun(){                    while(true){                    try{                                  Thread.sleep(10);                           }catch(InterruptedExceptione){                                  thrownewRuntimeException(e);            

7、               }                    }             }2.  几个常用的API这边介绍几个常见而且重要的的线程API,这边JDK文档有更加详细的说明,其实JDK的文档就是个很好的学习资料,常备很重要哦!方法说明start使线程开始执行,实际上这个方法会调用下面的run这个方法,如果这个线程已经开始执行,则会扔出IllegalThreadStateExceptionsleep是当前已经运行的线程休眠一段时间。如果当前线程已经被别的线程中断的话,将会扔出InterruptedException,而且in

8、terrupted标志也会被清空。这个方法有两个版本,具体参看JDK文档。run线程执行的业务逻辑应该在这里实现。join等待另外一个线

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

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

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