Android应用开发之Java基础篇——线程
2010-10-14 06:18:00 来源:本站整理众所周知,Android应用程序的开发语言是Java语言。多线程编程在任何语言中,都占有重要地位,当然也包括 Java。本文将简单介绍一下Java中的线程,本文面向的对象是从C/C++转型做Android开发人员,如果你是经验丰富的Java程序员,可能本文对你是小儿科,但是一样欢迎你的指正。
使用多线程编程有很多原因,比如:
1、可以优化程序结构。比如假如做一个服务器,主线程等待客户端的请求,当有客户请求到达的时候,则创建一个新的线程为这个客户服务。主线程继续等待新的客户请求。这样设计非常简单明了。
2、可以充分发挥系统的性能。现在多核CPU已经是非常普遍了,在这些系统上面如果你把程序设计成多线程,可以提高运行效率。当然假如是单核CPU,多线程程序相对会允许会慢一些,主要慢在线程调度上面。
Java中多线程编程是以Thread类为基础的。Thread类实现了Runnable接口,这个接口定义了run方法。run方法在Thread类中具有非常重要的作用,run方法中就是线程的主体。
Java中有两种方法可以建立线程,第一种方法是继承Thread类,并改写其run方法。实例代码如下:
public class TestThread extends Thread
{
public TestThread(String name)
{
super(name);
}
public void run()
{
for( int i = 0; i < 100; i++ )
{
System.out.println(getName() +": " + i);
Thread.yield();
}
}
public static void main(String[] argv)
{
for(int i = 0; i < 20; i++)
{
new TestThread(i + "").start();
}
}
}
从实例中我们可以看到TestThread继承自Thread类,并改写了run方法,在该方法中打印0-99的数字,打印之后,放弃调度权给其他的线程(Thread.yield方法的作用就是放弃当前线程的调度权给其他线程)。程序创建了20个线程,并运行他们。假如你在机器上面运行你将看到这些线程之间是有竞争关系的。每次运行的结果都会不一样,在不同机器上面运行结果也不一样。
第二种创建线程方式是创建一个runnable对象,然后以这个runnable对象来构造Thread对象。如下例子实现和上例的作用是一样的。
更多精彩
赞助商链接