多线程与socketliyuestux

多线程与socketliyuestux

ID:40158584

大小:2.48 MB

页数:58页

时间:2019-07-23

多线程与socketliyuestux_第1页
多线程与socketliyuestux_第2页
多线程与socketliyuestux_第3页
多线程与socketliyuestux_第4页
多线程与socketliyuestux_第5页
资源描述:

《多线程与socketliyuestux》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1classSuper{publicintfield=0;publicintgetField(){returnfield;}}classSubextendsSuper{publicintfield=1;publicintgetField(){returnfield;}publicintgetSuperField(){returnsuper.field;}}publicclassFieldAccess{publicstaticvoidmain(String[]args){Supersup=newSub();//UpcastSystem.out.println("sup.fi

2、eld="+sup.field+",sup.getField()="+sup.getField());Subsub=newSub();System.out.println("sub.field="+sub.field+",sub.getField()="+sub.getField()+",sub.getSuperField()="+sub.getSuperField());}}sup.field=0,sup.getField()=1sub.field=1,sub.getField()=1,sub.getSuperField()=02classFatherClass{pro

3、tectedclassGift{publicGift(){System.out.println("FatherClass.Gift()");}publicvoidf(){System.out.println("FatherClass.Gift.f()");}}privateGifty=newGift();;publicFatherClass(){System.out.println("NewFatherClass()");}publicvoidinsertGift(Giftyy){y=yy;}publicvoidg(){y.f();}}publicclassSonClas

4、sextendsFatherClass{publicclassGiftextendsFatherClass.Gift{publicGift(){System.out.println("SonClass.Gift()");}publicvoidf(){System.out.println("SonClass.Gift.f()");}}publicSonClass(){insertGift(newGift());}publicstaticvoidmain(String[]args){FatherClasse2=newSonClass();e2.g();}}FatherClas

5、s.Gift()NewFatherClass()FatherClass.Gift()SonClass.Gift()SonClass.Gift.f()1彼此独立,“同时”工作线程与工作人员什么是线程?线程是一个程序(进程)内部的顺序控制流,必须依赖于进程中执行,一个进程可实现多个线程,同时完成不同的任务。多线程意味着一个程序的多行语句同时执行,并不是多次启动同一个程序。不同进程的代码、内部数据和状态都是独立的,而进程中的多线程是共享同一内存空间和同一系统资源,可能会相互影响。线程两种实现方法:继承Thread类和继承Runnable接口用继承方式创建线程很简单,只需要继承j

6、ava.lang.Thread类,并覆盖Thread类的run方法。Thread类有两个很重要的方法:run方法和start方法Run方法是加入需要执行代码的地方,是线程体,但不能直接调用,需要通过调用start方法启动线程(初始化相关资源)并运行run方法。但是因为java不支持多继承,如果已经继承了其他类就无法在继承Thread类了。这样就要通过实现接口来创建线程了。用实现接口方式创建线程通过实现java.lang.Runnable接口来创建多线程,该接口只有一个run方法,重写就好了。但是,必须要调用Thread类构造方法publicThread(Runnablet

7、arget)来创建Thread类的实例才能提供对多线程的支持。下面是例子:publicclassThreadSynTestimplementsRunnable{privateintnum=10;publicvoiddoit(){if(num>0){try{Thread.sleep(1000);}catch(InterruptedExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}System.out.println("tickets"+--num);}}

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

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

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