java多线程处理一段语句_java 多线程(一)

什么是线程

一个程序可能包含多个并发运行的任务,线程(Thread)是指一个任务从头到尾的执行流。线程提供了运行一个任务的机制。对于 Java语言,可以再一个程序中并发得启动多个线程。这些线程可以再多处理器系统上同时运行。

1334930187_1006.png

在单处理器系统中,多个线程共享cpu时间成为时间共享。儿操作系统负责调度以及分配资源给每一个线程。因为cpu大部时间都是空闲的,所以这种安排是切实可行的。多线程可以是程序反应更快,交互性更强、执行效率更高。例如,在使用word时,允许在输入文字的同时打印文件或者保存文件。在一些情况下即使在单处理器系统上,多想成程序的运行速度也比单线程的程序更快。

当程序作为一个应用程序运行时,java解释器为main方法启动一个线程。当程序作为一个applet运行时,web浏览器启动一个线程来运行applet。还可以在程序中创建附加的线程以执行并发任务。在java 中每一个任务都是 Ruanable几口的一个实例,也成为可运行对象。线程本质上就是便于任务执行的对象。

创建任务和线程

任务就是对象,为了创建任务首先需要为任务创建一个类,任务类必须实现Ruanable接口。Ruanable接口只有一个run方法。需要实现这个方法来高旭系统线程将如何运行。

一旦定义了一个TaskClass,就可以用它的构造方法创建一个任务。 例如  TaskClass task   =  newTaskClass(.....);

任务必须在线程中运行。Thread类包括创建线程的构造方法以及控制线程的很多有用的方法。使用下面的语句创建一个线程:

Thread    thread  = new Thread();

然后调用  thread.start()  方法告诉java虚拟机该线程准备运行;值得注意的是 条用Thread 的start 方法后并不是立即执行任务 的run方法,而是告诉虚拟机 该线程正在等待调用,置于什么时候调用,我们并不能肯定。

1334932771_7984.png

package LianXi;

public class TaskThreadDemo{

public static void main(String[] args){

PrintChar printC = new PrintChar('C',1000);

PrintChar printX = new PrintChar('X',1000);

PrintNum printNum = new PrintNum(1000);

Thread thread1 = new Thread(printC);

Thread thread2 = new Thread(printX);

Thread thread3 = new Thread(printNum);

thread1.start();

thread2.start();

thread3.start();

}

}

class PrintChar implements Runnable{

private char _charToPrint;

private int _times;

public PrintChar(char c,int t){

_charToPrint = c;

_times = t;

}

public void run(){

for(int i = 0 ;i <_times i>

System.out.print(_charToPrint);

}

}

}

class PrintNum implements Runnable{

private int _lastNum;

public PrintNum(int lastNum){

_lastNum = lastNum;

}

public void run(){

for(int i = 0; i<=_lastNum; i++){

System.out.print(i);

}

}

}

作者:duanmengchao 发表于2012-4-19 23:32:14 原文链接

阅读:13 评论:0 查看评论

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值