码迷,mamicode.com
首页 > 编程语言 > 详细

Java线程基础

时间:2017-05-27 22:27:25      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:接口   rup   显示   实现   str   new t   hello   package   单线程   

一个线程运行一个顺序程序。

在java中,线程一般是java.lang.Thread的子类,它提供了一些方法来创建线程、启动线程。

挂起线程、等待线程完毕。

首先,创建一个实现Runnable接口的类,该类的run()方法完毕全部的工作。比如。以下是一个打印字符串的简单线程。

package lou.thread;

public class HelloWorld implements Runnable {
	String message;

	public HelloWorld(String m) {
		this.message = m;
	}
	@Override
	public void run() {
		System.out.println(message);
	}

}

我们能够以一个Runnable对象作为參数来调用Thread类的构造函数,将Runnable对象转变为线程。例如以下所看到的:

String m = "Hello world form Thread " + i;
Thread thread = new Thread(new HelloWorld(m));

java提供一种语法上的快捷方式,称为匿名内部类,它能让你无需显示地定义HelloWorld类:

final String m = "Hello world form Thread " + i;
		thread = new Thread(new Runnable() {
			@Override
			public void run(){
				System.out.println(m);
			}
		});

上面的程序段创建一个实现Runnable接口的匿名类,其run()方法的行为已描写叙述,当线程创建之后,它须要被启动:

thread.start();

这种方法能使线程执行。

调用该方法的线程将马上返回。假设调用者打算等待线程结束。怎必须连接线程:

thread.join();

此时调用者会被堵塞直到线程的run()方法返回。

以下给出一个可以初始化多线程、启动多线程、等待多线程完毕、然后打印一条消息的方法。

该方法创建一个线程组成的数组。并使用匿名内部类

语法进行初始化。在循环结束时。则创建了一个休眠线程组成的数组。

	public static void main(String[] args) throws InterruptedException {
		Thread[] thread = new Thread[8];
		for (int i = 0; i < thread.length; i++) {
			final String message = "Hello from thread " + i;
			thread[i] = new Thread(new Runnable() {
				@Override
				public void run() {
					System.out.println(message);
				}
			});
		}
		for (int i = 0; i < thread.length; i++) {
			thread[i].start();
		}
		for (int i = 0; i < thread.length; i++) {
			thread[i].join();
		}
	}



Java线程基础

标签:接口   rup   显示   实现   str   new t   hello   package   单线程   

原文地址:http://www.cnblogs.com/slgkaifa/p/6914506.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!