首页 > 编程语言 > 详细

多线程基础知识简介

时间:2019-04-21 21:32:28      阅读:160      评论:0      收藏:0      [点我收藏+]

一、基本概念:程序、进程、线程

程序(program):是为完成特定任务、用某种预研编写的一组指令的集合。即指一段静态的代码,静态对象

进程(process):是程序的依次执行过程,或是正在运行的一个程序。动态过程:有它自身的产生、存在和消亡的过程。

  • 如:运行中的QQ,运行中的MP3播放器;
  • 程序是静态的,进程是动态的。

线程(Thread):进程可进一步细化为线程,是一个程序内部的一条执行路径。

  • 若一个程序可同一时间执行多个线程,就是支持多线程的。

二、进程与多线程

技术分享图片

 

三、创建并启动线程

(1)默认JVM会有一个主线程

技术分享图片

(2)模拟多线程读写数据的过程

import java.util.concurrent.TimeUnit;

public class TryConcurrent {

    public static void main(String[] args) throws InterruptedException {

        new Thread(()->{
            readDataFromDataBase();
        }, "read thread").start();

        new Thread(()->{
            writeDataToFile();
        }, "read thread").start();
    }

    /**
     * 模拟数据库读取数据的过程
     */
    public static void readDataFromDataBase(){
        try {
            System.out.println("start read data from database");
            TimeUnit.SECONDS.sleep(10);
            System.out.println("end read data from database");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("read date finish");
    }

    /**
     * 模拟向磁盘写数据的过程
     */
    public static void writeDataToFile(){
        try {
            System.out.println("start write data to file");
            TimeUnit.SECONDS.sleep(10);
            System.out.println("end write data to file");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        System.out.println("write date finish");
    }
}

 

  

代码运行结果:

技术分享图片

 

多线程基础知识简介

原文:https://www.cnblogs.com/ch-forever/p/10746951.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!