美文网首页
Java 多线程 入门1

Java 多线程 入门1

作者: lmem | 来源:发表于2017-04-18 22:52 被阅读11次
一、线程原理

1.调用join()和sleep()方法,sleep()时间结束或被打断,join()中断,IO完成都会回到Runnable状态,等待JVM的调度。
2.调用wait(),使该线程处于等待池(wait blocked pool),直到notify()/notifyAll(),线程被唤醒被放到锁定池(lock blocked pool ),释放同步锁使线程回到可运行状态(Runnable)
3.对Running状态的线程加同步锁(Synchronized)使其进入(lock blocked pool ),同步锁被释放进入可运行状态(Runnable)。

Paste_Image.png

二、线程的创建

1.首先通过继承 Thread 类实现,代码如下:

class MyThread extends Thread{  
    private int ticket = 5;  
    public void run(){  
        for (int i=0;i<10;i++)  
        {  
            if(ticket > 0){  
                System.out.println("ticket = " + ticket--);  
            }  
        }  
    }  
}  

public class ThreadDemo{  
    public static void main(String[] args){  
        new MyThread().start();  
        new MyThread().start();  
        new MyThread().start();  
    }  
} 
Paste_Image.png

2.下面是通过实现 Runnable 接口实现的多线程程序,代码如下:

class MyThread implements Runnable{  
    private int ticket = 5;  
    public void run(){  
        for (int i=0;i<10;i++)  
        {  
            if(ticket > 0){  
                System.out.println("ticket = " + ticket--);  
            }  
        }  
    }  
}  

public class RunnableDemo{  
    public static void main(String[] args){  
        MyThread my = new MyThread();  
        new Thread(my).start();  
        new Thread(my).start();  
        new Thread(my).start();  
    }  
}
Paste_Image.png

相关文章

  • 《Java 多线程精选》思维导图

    本文主要分析了 Java 多线程的精选内容 1.进程和线程 2.Java 多线程编程入门 3.线程组和线程优先级 ...

  • Java 多线程 入门1

    一、线程原理 1.调用join()和sleep()方法,sleep()时间结束或被打断,join()中断,IO完成...

  • Java锁机制

    Java多线程编程的入门篇,主要介绍volatile修饰词、Synchronized以及Lock及其子类 多线程编...

  • Java多线程目录

    Java多线程目录 Java多线程1 线程基础Java多线程2 多个线程之间共享数据Java多线程3 原子性操作类...

  • Java进阶之synchronized关键字详解

    掌握多线程是从Java入门后需要跳过的第一大坎,使用多线程就难以避免要处理数据同步问题,在Java多线程中实现数据...

  • java线程入门基础(二)

    java线程入门基础(二) 一、认识Java里的线程 1.1 Java里的程序天生就是多线程的 一个Java程序从...

  • Java编程入门

    Java编程入门(词汇表) Java编程入门:前言 Java编程入门:第1章 思考的风景 Java编程入门(1.1...

  • (五) volatile关键字

    Java多线程目录 1 背景 理解Java多线程的内存抽象逻辑请阅读java多线程内存模型,当代操作系统,处理器为...

  • Java多线程高级特性(JDK8)

    [TOC] 一、Java多线程 1.Java多线程基础知识 Java 给多线程编程提供了内置的支持。一条线程指的是...

  • Java多线程基础

    如你们所知,想在java行业拿到高薪,多线程是个必须熟练的技能,可是入门费劲,故最近搜集关于多线程的资料,做如下总...

网友评论

      本文标题:Java 多线程 入门1

      本文链接:https://www.haomeiwen.com/subject/mqnqzttx.html