Java多线程<1>

来源:互联网 发布:linux命令行怎么打开 编辑:程序博客网 时间:2024/04/30 06:54

1、Java多线程的概念:
线程(Thread):是指一个任务从头到尾的执行流。线程提供了运行一个任务的机制。对于java而言,可以在一个程序中并发的启动多个线程,这些线程可以在多处理器上同时运行。
这里写图片描述

在单处理器系统中,多个线程共享CPU时间,而操作系统负责调度及分配资源给它们。当程序作为一个应用程序来运行时,JAVA解释器为main开启一个线程。当程序为Applet运行时,Web浏览器启动一个线程来运行applet。还可以在程序中创建附加的线程以执行并发任务。在JAVA中,每个任务都是Runnable的实例。

2、创建任务和线程
任务就是对象,为了创建任务,必须为任务定义一个类,任务类必须实现Runnable接口。Runnable接口十分简单,如下:

public abstract interface java.lang.Runnable {  // Method descriptor #1 ()V  public abstract void run();}

接口里就只有一个run方法,需要这个方法告诉系统线程将如何运行。下面介绍如何开发任务类:
1、一旦定义了一个TaskClass,就可以用他的构造方法来创建一个任务,例如:

TaskClass task = new TaskClass(参数);

2、任务必须在线程中执行。

Thread thread = new Thread(task);

3、调用start()方法告诉JAVA虚拟机该线程准备运行

thread.start();

下面我就举一个简单的例子:

PrintChar.java

package com.guigu.zhangxx.main;public class PrintChar implements Runnable{    private char c;    private int num;    public PrintChar(char c,int num){        this.c = c;        this.num = num;    }    public void run() {        for(int i=0;i<num;i++){            System.out.print(c+" ");        }    }}

CMain.java

package com.guigu.zhangxx.main;public class CMain {    public static void main(String[] args) {        //创建任务        Runnable print1 = new PrintChar('A',10);        //创建线程        Thread thread1 = new Thread(print1);        //开启线程        thread1.start();    }}

结果为:
A A A A A A A A A A

0 0
原创粉丝点击