zoukankan      html  css  js  c++  java
  • 多线程基础知识简介

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

    程序(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");
        }
    }

      

    代码运行结果:

  • 相关阅读:
    【Python入门自学笔记专辑】——面向对象编程-实例方法11.3.6
    最简单的轮播广告(原生JS)
    (转)JavaScript一:为什么学习JavaScript?
    JAVASCRIPT中经典面试题
    使用AngularJS实现简单:全选和取消全选功能
    canvas绘制经典折线图(一)
    前端总结
    PHP如何连接MySQL数据库
    PHP预定义变量
    PHP语法
  • 原文地址:https://www.cnblogs.com/ch-forever/p/10746951.html
Copyright © 2011-2022 走看看