基本的线程机制(一)

原创 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类

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

(一)基本的线程机制

定义任务 描述一个任务,使用Runnable接口,实现其run方法即可。以下为一个倒计时的任务,打印倒计时以及任务的ID。 public class LiftOff implements Ru...
  • wuchao0508
  • wuchao0508
  • 2016年10月25日 10:54
  • 66

Java基本线程机制(一)

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

基本的线程机制

一、线程概念 并发编程使我们可以将程序划分成多个分离的、独立运行的任务。通过使用多线程机制,这些独立任务中的每一个都将由执行线程来驱动。一个线程就是在进程中的一个单一的顺序控制流,因此,单个进程可以...
  • tanjie_123
  • tanjie_123
  • 2016年07月23日 11:02
  • 213

线程的基本概念,基本状态、状态之间的关系

基本概念 线程:是进程中的一个执行控制单元,执行路径       一个进程中至少有一个线程在负责控制程序的执行       一个进程中如果只有一个执行路径,这个程序称为单线程     ...
  • maoyuanming0806
  • maoyuanming0806
  • 2017年09月18日 14:46
  • 872

java并发机制底层原理

0.术语 内存屏障:是一组处理器指令,用于实现对内存操作的顺序限制。 缓存行:缓存中可以分配的最小存储单元。 原子操作:不可中断的一个或一系列操作。 缓存行填充:当处理器识别到从内存中读取操作数是可...
  • zhu408891980
  • zhu408891980
  • 2016年05月31日 18:00
  • 2563

Java并发之线程机制

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

线程的基本概念、线程的基本状态及状态之间的关系

线程的基本概念、线程的基本状态及状态之间的关系 基本概念:线程,即轻量级进程(LWP:Light Weight Process),是程序执行流的最小单元。一个标准的线程由线程ID、当前指令指针(P...
  • July1028
  • July1028
  • 2016年09月17日 13:53
  • 3840

java基本线程机制

基本线程机制方法一实现Runnable接口,编写run()方法,在里面描述了要做的事。class A implements Runnable{ public void run(){ ...
  • neutre
  • neutre
  • 2017年10月12日 12:54
  • 41

基本线程机制

基本线程机制@(并发)[java, 并发, Thinking in Java]基本线程机制 定义任务 Thread类 使用Executor 从任务中返回值实现Callable接口 休眠 优先级 让步 ...
  • u013490726
  • u013490726
  • 2017年08月18日 16:47
  • 66

图的基本存储的基本方式一

图的基本存储的基本方式一 Time Limit: 1500ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 解决图论问题,首先就要...
  • zhACMer
  • zhACMer
  • 2015年08月05日 16:03
  • 667
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基本的线程机制(一)
举报原因:
原因补充:

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