Java之多线程

keywords: Thread, Runnable, synchronized

现在的CPU很强悍,一般都是多个核心,并使用超线程技术,让一个核心能并行运行多个线程。在处理大数据时,多线程会大大加快数据处理速度,多线程编程也日显重要。Java中每个程序运行时都有一个主线程main在跑。

创建线程的两种方式:继承Thread和实现Runnable

class A extends Thread

Thread implements Runnable

直接调用run()方法不算是多线程,只是运行对象的方法而已。创建多线程需要调用操作系统资源-CPU。在Thread的start()方法中就会调用native的start()来创建新线程(native说明:http://blog.csdn.net/fsz521/article/details/8748562)。










例:多线程控制顺序执行:三个线程顺序输出其id三次

输出:012012012


package multiThread;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

class TestThreadMethod extends Thread {
	public TestThreadMethod(String name) {
		super(name);
	}

	public void run() {
		System.out.print(this.getName());
	}
}

public class TestThread {
	public static void main(String[] args) {
		TestThreadMethod ttm0 = new TestThreadMethod("0");
		TestThreadMethod ttm1 = new TestThreadMethod("1");
		TestThreadMethod ttm2 = new TestThreadMethod("2");
		ExecutorService exec = Executors.newSingleThreadExecutor();
		for (int i = 0; i < 3; i++) {
			exec.execute(ttm0); 
			exec.execute(ttm1);
			exec.execute(ttm2);
		}
		exec.shutdown();
	}
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值