java多线程与枚举类型应用

java多线程与枚举类型应用

ID:20283139

大小:67.00 KB

页数:10页

时间:2018-10-11

java多线程与枚举类型应用_第1页
java多线程与枚举类型应用_第2页
java多线程与枚举类型应用_第3页
java多线程与枚举类型应用_第4页
java多线程与枚举类型应用_第5页
资源描述:

《java多线程与枚举类型应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Java多线程和枚举类型应用lJava多线程针对于计算机cpu而言,同一时间完成多个任务(实际:计算机cpu在同一时间只能做一件事情)。计算机能够将cpu处理的时间点分割成微小的时间片段(人没有办法察觉),让多个任务根据任务的优先级去执行。从而给人造成一个时间(人能够体会时间)感觉好像多个任务同时执行。lJava支持多线程。提供两种方式来处理多线程程序。nJavaapi提供了Thread类,让想实现多线程功能的类去extends这个类,从而该子类就具备多线程的功能。n对于已经继承了某个父类的子类来说,如果这个子类需要实现多线程任务,根据ja

2、va单一继承的规定,该子类不能extendsThread,所以java提供了一个Runable接口,让该子类implements该接口,从而完成多线程的任务。MainFun1Fun2创建新执行线程有两种方法。一种方法是将类声明为Thread的子类。该子类应重写Thread类的run方法。接下来可以分配并启动该子类的实例。例如,计算大于某一规定值的质数的线程可以写成:classPrimeThreadextendsThread{longminPrime;PrimeThread(longminPrime){this.minPrime=minPri

3、me;}publicvoidrun(){//computeprimeslargerthanminPrime . . .}}然后,下列代码会创建并启动一个线程:PrimeThreadp=newPrimeThread(143);p.start();创建线程的另一种方法是声明实现Runnable接口的类。该类然后实现run方法。然后可以分配该类的实例,在创建Thread时作为一个参数来传递并启动。采用这种风格的同一个例子如下所示:classPrimeRunimplementsRunnable{longminPrime;PrimeRun(longm

4、inPrime){this.minPrime=minPrime;}publicvoidrun(){//computeprimeslargerthanminPrime . . .}}然后,下列代码会创建并启动一个线程:PrimeRunp=newPrimeRun(143);newThread(p).start();每个线程都有一个标识名,多个线程可以同名。如果线程创建时没有指定标识名,就会为其生成一个新名称。l多线程的应用n举例:packagecom.wokit.part1;publicclassDemo01extendsThread{priv

5、ateStringname;publicDemo01(Stringname){super();this.name=name;}/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubDemo01aa=newDemo01("子线程");aa.start();for(inti=0;i<5;i++){System.out.println("主程序start:"+i);try{Thread.sleep(1000);}catch(Interrup

6、tedExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}@Overridepublicvoidrun(){//TODOAuto-generatedmethodstubsuper.run();for(inti=0;i<5;i++){System.out.println(this.name+"start:"+i);try{this.sleep(1000);}catch(InterruptedExceptione){//TODOAuto-generatedcatchb

7、locke.printStackTrace();}}}}n举例2:packagecom.wokit.part1;publicclassDemo02implementsRunnable{privateStringname;publicDemo02(Stringname){super();this.name=name;}@Overridepublicvoidrun(){//TODOAuto-generatedmethodstubfor(inti=0;i<5;i++){System.out.println(this.name+"start:"+i

8、);try{Thread.sleep(1000);}catch(InterruptedExceptione){//TODOAuto-generatedcatchblocke.pr

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

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

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