Java多线程编程初步[Java编程]
本文“Java多线程编程初步[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
什么是多线程编程
多线程编程技术是Java语言的重要特点.多线程编程的含义是将程序任务分成几个并行的子任务.分外是在网络编程中,你会发现很多功效是可以并发履行的.比方网络传输速度较慢、用户输入速度较慢,你可以用两个独立的线程去完成这两个功效,而不影响正常的显示或别的功效.
多线程是与单线程对比而言的,普通的Windows采取单线程程序构造,其工作原理是:主程序有一个消息循环,不断从消息行列中读入消息来决意下一步所要干的事情,普通是针对一个函数,只有等这个函数履行完之后,主程序才能接纳别的的消息来履行.比方子函数功效是在读一个网络数据,或读一个文件,只有等读完这个数据或文件才能接纳下一个消息.在履行这个子函数历程中你什么也不能干.但常常读网络数据和等候用户输入有很多时间处于等候状况,多线程操纵这个特点将任务分成多个并发任务后,便可以办理这个问题.
Java中的线程类
要学会Java中的多线程编程,就得知道若何实现支持多线程的类.Java中实现多线程的类有两种办法:
1.扩大java.lang.Thread类,用它覆盖Thread类的run办法.
2.生成实现java.lang.Runnable接口的类并将别的的实例与java.lang.Thread实例相关联.
Thread类是负责向别的类供应线程支持的最主要的类,要利用一个类具有线程功效,在Java中只要简单地从Thread类派生一个子类便可以了?扩大Thread类,如printThread.java.
下面我们将通过实例来介绍若何利用这两种办法编写自己的多线程利用程序.
成立java.lang.Thread类的子类
Thread类最重要的办法是run办法.run办法是新线程履行的办法,因此生成java.lang.Thread的子类时,必须有呼应的run办法.
//PrintThread.java
public class PrintThread extends Thread?//担当Tread类
private int count=0? //定义一个count变量用于统计打印的次数并同享变量
public static void main?String?? args??//main办法开始
PrintThread p=new PrintThread???//成立一个线程实例
p.start???//履行线程
for{;;}????//主线程main办法履行一个循环,for履行一个死循环
?
count++?
System.out.print?count+″:Main ″??//主线程中打印count +“main”变量的值,并换行
??
public void run???//线程类必须有的run()办法
for{;;}????
?
count++?
System.out.print?count+″:Thread ″???
??
上面这段程序就是担当java.lang.Tread并覆盖run的办法.用Java 虚拟机启动程序时,这个程序会先生成一个线程并调用程序主类的main办法.这个程序中的main办法生成新线程,衔接打印“Thread”.在启动线程之后,主线程持续打印“Main”.
编译并履行这个程序,然后当即按“Ctrl+C”键中止程序,你会看到上面所述的两个线程不断打印出:XXX:main…..XXX:Thread…. ?XXX代表的是数字,也就是上面count的值?.在笔者的机械上,差别时刻这两个线程打印的次数不一样,先打印20个main(也就是先履行20次主线程)?再打印出50次Thread,然后再打印main……
以上是“Java多线程编程初步[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |