发布一篇java多线程进修开端
多谢指点,其实我对.net网页编程和ruby也不是很了解,对与java也只是刚起步的阶段,只是在学习中有了点想法就写出来了,现在俺本科还没毕业,所以对大型项目基本上也没有什么经验。importjava.io.*;
//多线程编程
publicclassMultiThread
{
publicstaticvoidmain(Stringargs[])
{
System.out.println("我是主线程!");
//上面创立线程实例thread1
ThreadUseExtendsthread1=newThreadUseExtends();
//创立thread2时以完成了Runnable接口的THhreadUseRunnable类实例为参数
Threadthread2=newThread(newThreadUseRunnable(),"SecondThread");
thread1.start();//启动线程thread1使的地方于停当形态
//thread1.setPriority(6);//设置thread1的优先级为6
//优先级将决意cpu空出时,处于停当形态的线程谁先占据cpu入手下手运转
//优先级局限1到10,MIN_PRIORITY,MAX_PRIORITY,NORM_PAIORITY
//新线程承继创立她的父线程优先级,父线程一般有一般优先级即5NORM_PRIORITY
System.out.println("主线程将挂起7秒!");
try
{
Thread.sleep(7000);//主线程挂起7秒
}
catch(InterruptedExceptione)
{
return;
}
System.out.println("又回到了主线程!");
if(thread1.isAlive())
{
thread1.stop();//假如thread1还存在则杀失落他
System.out.println("thread1休眠太长,主线程杀失落了thread1!");
}
else
System.out.println("主线程没发明thread1,thread1已醒按次实行停止了!");
thread2.start();//启动thread2
System.out.println("主线程又将挂起7秒!");
try
{
Thread.sleep(7000);//主线程挂起7秒
}
catch(InterruptedExceptione)
{
return;
}
System.out.println("又回到了主线程!");
if(thread2.isAlive())
{
thread2.stop();//假如thread2还存在则杀失落他
System.out.println("thread2休眠太长,主线程杀失落了thread2!");
}
else
System.out.println("主线程没发明thread2,thread2已醒按次实行停止了!");
System.out.println("程序停止按恣意键持续!");
try
{
System.in.read();
}
catch(IOExceptione)
{
System.out.println(e.toString());
}
}//main
}//MultiThread
classThreadUseExtendsextendsThread
//经由过程承继Thread类,并完成它的笼统办法run()
//得当时分创立这一Thread子类的实例来完成多线程机制
//一个线程启动后(也即进进停当形态)一旦取得CPU将主动挪用它的run()办法
{
ThreadUseExtends(){}//机关函数
publicvoidrun()
{
System.out.println("我是Thread子类的线程实例!");
System.out.println("我将挂起10秒!");
System.out.println("回到主线程,请稍等,方才主线程挂起大概还没醒过去!");
try
{
sleep(10000);//挂起5秒
}
catch(InterruptedExceptione)
{
return;
}
//假如该run()办法按次实行完了,线程将主动停止,而不会被主线程杀失落
//但假如休眠工夫太长,则线程还存活,大概被stop()杀失落
}
}
classThreadUseRunnableimplementsRunnable
//经由过程完成Runnable接口中的run()办法,再以这个完成了run()办法的类
//为参数创立Thread的线程实例
{
//Threadthread2=newThread(this);
//以这个完成了Runnable接口中run()办法的类为参数创立Thread类的线程实例
ThreadUseRunnable(){}//机关函数
publicvoidrun()
{
System.out.println("我是Thread类的线程实例并以完成了Runnable接口的类为参数!");
System.out.println("我将挂起1秒!");
System.out.println("回到主线程,请稍等,方才主线程挂起大概还没醒过去!");
try
{
Thread.sleep(1000);//挂起5秒
}
catch(InterruptedExceptione)
{
return;
}
//假如该run()办法按次实行完了,线程将主动停止,而不会被主线程杀失落
//但假如休眠工夫太长,则线程还存活,大概被stop()杀失落
}
}
//该程序可做的修正如改休眠工夫或优先级setPriority()
诸如RMI,EJB等一些技术并不是你说的那么复杂,而是它们把一些复杂的工具封装成不复杂的工具了,理解这些工具是需要些时间。我问你,.net网页编程里有这些工具吗?要简单多少?。 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 是一种语言,用以产生「小应用程序(Applet(s)) Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
页:
[1]