了解下JAVA的Java多线程:“基本篇”02之经常使用的完成多线程的两种体例
但是我同意你的观点,对于大型项目来说,应该是采用框架的一部分,根据功能的不同而改进,欢迎你能再提出些宝贵意见,我会多多学习的。说到jbuilder,我可能是个人感觉,用的时候确实没有vs爽,我最喜欢的IDE是netbeans,谢谢。<p>本章,我们进修“经常使用的完成多线程的2种体例”:Thread和Runnable。<p>之以是说是经常使用的,是由于经由过程还能够经由过程java.util.concurrent包中的线程池来完成多线程。关于线程池的内容,我们今后会具体先容;如今,先对的Thread和Runnable举行懂得。本章内容包含:<p>Thread和Runnable的简介<p>Thread和Runnable的异同点Thread和Runnable的多线程的示例
转载请说明出处:http://www.ckuyun.com/skywang12345/p/3479063.html
Thread和Runnable简介
Runnable是一个接口,该接口中只包括了一个run()办法。它的界说以下:
<p>publicinterfaceRunnable{<p>publicabstractvoidrun();}
Runnable的感化,完成多线程。我们能够界说一个类A完成Runnable接口;然后,经由过程newThread(newA())等体例新建线程。
Thread是一个类。Thread自己就完成了Runnable接口。它的声明以下:
publicclassThreadimplementsRunnable{}
Thread的感化,完成多线程。
Thread和Runnable的异同点
<p>Thread和Runnable的不异点:都是“多线程的完成体例”。<p>Thread和Runnable的分歧点:<p>Thread是类,而Runnable是接口;Thread自己是完成了Runnable接口的类。我们晓得“一个类只能有一个父类,可是却能完成多个接口”,因而Runnable具有更好的扩大性。<p>别的,Runnable还能够用于“资本的共享”。即,多个线程都是基于某一个Runnable对象创建的,它们会共享Runnable对象上的资本。一般,倡议经由过程“Runnable”完成多线程!
<p>Thread和Runnable的多线程示例1.Thread的多线程示例
上面经由过程示例更好的了解Thread和Runnable,自创网上一个例子对照具有压服性的例子。
//ThreadTest.java源码
classMyThreadextendsThread{
privateintticket=10;
publicvoidrun(){
for(inti=0;i<20;i++){
if(this.ticket>0){
System.out.println(this.getName()+"卖票:ticket"+this.ticket--);
}
}
}
};
publicclassThreadTest{
publicstaticvoidmain(String[]args){
//启动3个线程t1,t2,t3;每一个线程各卖10张票!
MyThreadt1=newMyThread();
MyThreadt2=newMyThread();
MyThreadt3=newMyThread();
t1.start();
t2.start();
t3.start();
}
}运转了局:
Thread-0卖票:ticket10
Thread-1卖票:ticket10
Thread-2卖票:ticket10
Thread-1卖票:ticket9
Thread-0卖票:ticket9
Thread-1卖票:ticket8
Thread-2卖票:ticket9
Thread-1卖票:ticket7
Thread-0卖票:ticket8
Thread-1卖票:ticket6
Thread-2卖票:ticket8
Thread-1卖票:ticket5
Thread-0卖票:ticket7
Thread-1卖票:ticket4
Thread-2卖票:ticket7
Thread-1卖票:ticket3
Thread-0卖票:ticket6
Thread-1卖票:ticket2
Thread-2卖票:ticket6
Thread-2卖票:ticket5
Thread-2卖票:ticket4
Thread-1卖票:ticket1
Thread-0卖票:ticket5
Thread-2卖票:ticket3
Thread-0卖票:ticket4
Thread-2卖票:ticket2
Thread-0卖票:ticket3
Thread-2卖票:ticket1
Thread-0卖票:ticket2
Thread-0卖票:ticket1<p>
但是对于JAVA技术类的学习,我觉得大课堂反而会影响自身独立思考的过程,因为上课的时候,老师讲课的速度很快为了不遗漏要点,通常会仔细的听, 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 Java是一种计算机编程语言,拥有跨平台、面向对java 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
页:
[1]