• java学习笔记 多线程


    进程是程序的一次动态执行过程,需要经历代码加载,代码执行,执行完毕的一个完整过程。

    多进程操作系统能同时运行多个进程(程序),由于cpu具有备份时机制,所以每个进程都能循环获得自己的cpu时间片。由于cpu执行速度非常快,使得所有程序好像是在“同时运行”一样。

    线程是比进程更小的单位,线程是在进程基础上进一步的划分。多线程是指一个进程在执行过程中可以产生多个更小的程序单元,这些更小的程序单元称之为线程。(java在运行中至少会启动两个线程:1,main线程 2,垃圾回收线程)

    线程的实现:

          一、继承Thread类

          二、实现Runnable接口

    两种多线程实现方式区别:1.继承Thread类会受到单继承限制,实现Runnable接口可以避免。2,一个类如果继承Thread类实现多线程,那么start()方法只能调用一次,而Runnable可以调用多次,用这以实现资源共享。

    public class Test {
        public static void main(String[] args) {
            MyThread1 mt1 = new MyThread1();
            mt1.start();
            MyThread2 mt2 = new MyThread2();
            Thread t2 = new Thread(mt2);//系统为线程自动命名,命名规则 Thread-XX
            Thread t3 = new Thread(mt2,"t333");//Thread类构造方法:为线程指定名称
            t2.start();
            t3.start();
            mt1.run();//注意这个语句放置位置!
        }    
    }
    
    //多线程一 ,继承Thread类
    class MyThread1 extends Thread {
        public void run(){
            for (int i = 0; i <= 3;i++) {
                System.out.println(Thread.currentThread().getName() + "运行" + i);//调用currentThread()静态方法及getName()    
            }    
        }    
    }
    
    //多线程实现二,实现Runnable接口
    class MyThread2 implements Runnable {
        public void run(){
            for (int i = 0; i <= 3;i++) {
                System.out.println(Thread.currentThread().getName() + "运行" + i);    
            }    
        }
    }
    
    /*
    1.实现Runnable可以调用多次start()方法,用以实现资源共享
    */
    r4
  • 相关阅读:
    Spring IoC容器初的初始化过程
    IoC容器初始化过程
    花了一个星期,我终于把RPC框架整明白了!
    RPC简介及框架选择
    ORM框架的前世今生
    什么是索引?Mysql目前主要的几种索引类型
    面试官:谈谈你对Mysql的MVCC的理解?
    sql server 获取数据字段(表的字段和类型信息)
    YAML
    Spring Boot 整合 Mybatis 实现 Druid 多数据源详解
  • 原文地址:https://www.cnblogs.com/yhwsy/p/5808521.html
Copyright © 2020-2023  润新知