<b>Java多线程初学者指南(2):用Thread类成立线程</b>[Java编程]
本文“<b>Java多线程初学者指南(2):用Thread类成立线程</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在Java中成立线程有两种办法:利用Thread类和利用Runnable接口.在利用Runnable接口时需求成立一个Thread实例.因此,无论是通过Thread类还是Runnable接口成立线程,都必须成立Thread类或它的子类的实例.Thread类的构造办法被重载了八次,构造办法以下:
public Thread( ); public Thread(Runnable target); public Thread(String name); public Thread(Runnable target, String name); public Thread(ThreadGroup group, Runnable target); public Thread(ThreadGroup group, String name); public Thread(ThreadGroup group, Runnable target, String name); public Thread(ThreadGroup group, Runnable target, String name, long stackSize); |
Runnable target
实现了Runnable接口的类的实例.要注意的是Thread类也实现了Runnable接口,因此,从Thread类担当的类的实例也可以作为target传入这个构造办法.
String name
线程的名子.这个名子可以在成立Thread实例后通过Thread类的setName办法设置.假如不设置线程的名子,线程就利用默许的线程名:Thread-N,N是线程成立的次序,是一个不反复的正整数.
ThreadGroup group
当前成立的线程所属的线程组.假如不指定线程组,全部的线程都被加到一个默许的线程组中.关于线程组的细节将在背面的章节具体谈论.
long stackSize
线程栈的大小,这个值普通是CPU页面的整数倍.如x86的页面大小是4KB.在x86平台下,默许的线程栈大小是12KB.
一个普通的Java类只要从Thread类担当,便可以成为一个线程类.并可通过Thread类的start办法来履行线程代码.固然Thread类的子类可以直接实例化,但在子类中必必要覆盖Thread类的run办法才能真正运行线程的代码.下面的代码给出了一个利用Thread类成立线程的例子:
001 package mythread; 002 003 public class Thread1 extends Thread 004 { 005 public void run() 006 { 007 System.out.println(this.getName()); 008 } 009 public static void main(String[] args) 010 { 011 System.out.println(Thread.currentThread().getName()); 012 Thread1 thread1 = new Thread1(); 013 Thread1 thread2 = new Thread1 (); 014 thread1.start(); 015 thread2.start(); 016 } 017 } |
上面的代码成立了两个线程:thread1和thread2.上述代码中的005至008行是Thread1类的run办法.当在014和015行调用start办法时,系统会自动调用run办法.在007行利用this.getName()输出了当前线程的名字,由于在成立线程时并未指定线程名,因此,所输出的线程名是系统的默许值,也就是Thread-n的情势.在011行输出了主线程的线程名.
上面代码的运行后果以下:
main Thread-0 Thread-1 |
从上面的输出后果可以看出,第一行输出的main是主线程的名子.背面的Thread-1和Thread-2辨别是thread1和thread2的输出后果.
注意:任何一个Java程序都必须有一个主线程.普通这个主线程的名子为main.只有在程序中成立别的的线程,才能算是真正的多线程程序.也就是说,多线程程序必须拥有一个以上的线程.
以上是“<b>Java多线程初学者指南(2):用Thread类成立线程</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |