欢迎来到天天文库
浏览记录
ID:40158584
大小:2.48 MB
页数:58页
时间:2019-07-23
《多线程与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);}}
此文档下载收益归作者所有