基本的线程机制(一)

原创 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,即用这种方式执行任务时不能有返回值的。如果希望任务在执行完之后返回一个值,那么可以实现...

基本的线程机制(二)

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

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

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

Java并发编程-1 基本线程机制

1 线程构造方法方法1:通过Runnable接口描述线程任务 实现Runnable接口中的run方法 public class RunnableThread implements Runnable {...

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

在前面的章节我们都是直接对Thread进行管理,我们这里解释一下另一个管理Thread的类Executors。1.例子:package com.ray.ch17; import java.util....

基本的线程机制(三)

4.休眠        对于休眠我们这里会详细讨论sleep()方法和yield()方法,wait()方法暂时不讨论.        Thread.sleep(...

Java并发之基本的线程机制

并发 使用并发需要解决的问题有多个,实现并发的方式也有多种。 1. 基本的线程机制1.1 实现线程的基本方法:1.1.1 实现Runnable接口来定义任务通过实现Runnable接口并编写run...

从头认识java-18.2 基本的线程机制(8)多线程的异常捕捉

这一章节我们来讨论一下多线程的异常捕捉。1.普通情况的异常package com.ray.ch17; public class Test { public static void main(St...

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

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

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

1.Executor:Executor(执行器)将为你管理Thread对象,Executor在客户端和任务执行之间提供了一个间接层。ExecutorService(具有服务生命周期的Executor,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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