基本的线程机制(一)

原创 2015年11月19日 12:36:06
    java编程思想中说道:并发编程使我们可以将程序划分为多个分离的,独立运行的任务。通过使用多线程机制,这些独立任务(也被称为子任务)中的每一个都将由执行线程来驱动。一个线程就是在进程中的一个单一的顺序控制流,因此,单个进程可以拥有多个并发执行的任务,但是你的程序使得每个任务都好像有其自己的cpu一样。其底层机制是切分cpu时间,通常程序员不需要考虑他。
    针对以上提出,可以分为任务,执行线程,执行线程的控制流来讨论。
  1. 任务
    think in java提到将程序划分为多个分离的,独立运行的任务。线程可以驱动任务,因此在java中需要一个描述任务的方式.这里通常有三种方法实现Runnable接口,Callable接口,继承Thread类。对于这里我们详细讨论Runnable接口

  public   interface Runnable {
     public abstract void run();
}

Runnable中有一个抽象run方法,让其子类实现这个方法下面举一个实例

public class Liftoff implements Runnable{
    protected int countDown = 10;
    private static int taskCount=0;
    private final int id=taskCount++;
    public Liftoff(){

    }
    public Liftoff(int countDown){
        this.countDown=countDown;
    }
    public String status(){
        return "#" +id +"("+(countDown >0 ?countDown :"Liftoff!")+"), ";
    }
    @Override
    public void run() {
        while(countDown-->0){
            System.out.println(status());
            Thread.yield();
        }   
    }   
}

Liftoff类实现了Runnable接口,重写run方法,Thread.yield后面会介绍
在这里我们把任务定义出来,现在我们缺少什么?现在就缺少一个线程驱动调用这个方法。
我们这里采用Main方法调用,Main方法实质上也是一个线程:

public class MainThread {
    public static void main(String[] args) {
        Liftoff launch=new Liftoff();
        launch.run();
    }
}/*out
#0(9), #0(8), #0(7), #0(6), #0(5), #0(4), #0(3), #0(2), #0(1), 
#0(Liftoff!), */

在这里对任务的基本定义就结束,接下来学习Thread类

版权声明:本文为博主原创文章,未经博主允许不得转载。

Java基本线程机制(三)

四、从任务中产生返回值 因为Runnable和Thread中的run()方法的声明是固定的,起返回值为void,即用这种方式执行任务时不能有返回值的。如果希望任务在执行完之后返回一个值,那么可以实现...
  • fso918
  • fso918
  • 2013年12月17日 14:52
  • 627

基本的线程机制(二)

2.Thread类 将Runnable对象转变为工作任务的传统方式是把他提交给一个Thread构造器,如下public class BasicThreads { public sta...

java多线程系列----------- 基本的线程机制(二)

让步、后台线程、加入一个线程、线程异常捕获

从头认识java-18.2 基本的线程机制(4)-优先级

这一章节我们来讨论一下多线程的优先级问题。1.例子:package com.ray.ch17; public class Test { public static void main(Strin...

Java基本线程机制(一)

任务:线程中需要执行的代码或功能。 线程驱动:创建一个新的线程,并且执行绑定到该线程的任务。 线程:共享内存。多个进程可以访问寄存器中的同一个变量。 进程:不共享内存。只能访问自己内存中的变量。...
  • fso918
  • fso918
  • 2013年12月17日 12:58
  • 535

并发(1)基本的线程机制

1.Executor:Executor(执行器)将为你管理Thread对象,Executor在客户端和任务执行之间提供了一个间接层。ExecutorService(具有服务生命周期的Executor,...

从头认识java-18.2 基本的线程机制(1)-再识多线程-1

这一章节我们来介绍一下Runnable。1.例子package com.ray.ch17; public class Test { public static void main(String[...

java多线程系列----------- 基本的线程机制(一)

java线程的定义以及创建执行

第九章 Java多线程机制 01_线程的基本概念

鱼欲遇雨:每日都学习一点,持之以恒,天道酬勤!不能用电脑时,提前补上!(2012.9.2) 本章内容 1   线程的基本概念 2   线程的创建和启动 3   线程的调度和...

从头认识java-18.2 基本的线程机制(2)-Executors的使用

在前面的章节我们都是直接对Thread进行管理,我们这里解释一下另一个管理Thread的类Executors。1.例子:package com.ray.ch17; import java.util....
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基本的线程机制(一)
举报原因:
原因补充:

(最多只允许输入30个字)