• JAVA多线程的总结


    1-----------------------------------基本概念-------------------------------------------------

    (1)多线程:一个应用程序有多条执行路径
            进程:正在执行的应用程序
            线程:进程的执行单元,执行路径
            单线程:一个应用程序只有一条执行路径
            多线程:一个应用程序有多条执行路径
            多进程的意义?
                提高CPU的使用率
            多线程的意义?
                提高应用程序的使用率

    (2)多线程的实现方案
            A:继承Thread类
            B:实现Runnable接口

    (3)线程的调度
            A:线程的调度
                a:分时调度
                b:抢占式调度 (Java采用的是该调度方式)

    (4)同步解决线程安全问题
            A:同步代码块
                synchronized(对象) {
                    需要被同步的代码;
                }
                
                这里的锁对象可以是任意对象。
                
            B:同步方法
                把同步加在方法上。
                
                这里的锁对象是this
                
            C:静态同步方法
                把同步加在方法上。
                
                这里的锁对象是当前类的字节码文件对象(反射再讲字节码文件对象)

    (5)线程的生命周期

         

    2-----------------------------------基础代码-------------------------------------------------

    (1)继承Thread

    /**
     * 继承Thread
     * @author Administrator
     *
     */
       public class XC1 extends Thread {

               String bb =null ;
        
               public XC1(){}
        
               public XC1(String aa){
                     super();
                     bb=aa;
        }
        
        @Override
        public void run() {
               for (int i = 0; i < 1000; i++) {
                       System.out.println("线程1:"+1111+bb);
            }
        }
    }
    (2)实现Runnable接口


    public class XC2 implements Runnable {

        
        public void run() {
            for (int i = 0; i < 1000; i++) {
                System.out.println("线程2:"+2222);
            }
        }

    }
    (3)调用


    public class Demo1 {

        public static void main(String[] args) {

            XC1 xc1 = new XC1();
            Thread th1 = new Thread(xc1);
            th1.start();
            XC2 xc2 = new XC2();
            Thread th2 = new Thread(xc2);
            th2.start();

        }

    }

  • 相关阅读:
    笔记-迎难而上之Java基础进阶4
    笔记-迎难而上之Java基础进阶3
    笔记-迎难而上之Java基础进阶1
    7天学完Java基础之7/7
    Java学习笔记(3)--- 内部类,基本数据类型
    C++ 基础语法 快速复习笔记(3)---重载函数,多态,虚函数
    C++ 基础语法 快速复习笔记---面对对象编程(2)
    C++ 基础语法 快速复习笔记(1)
    堆与栈(heap and stack)在c/c++的应用(概念)
    Python爬虫入门教程 5-100 27270图片爬取
  • 原文地址:https://www.cnblogs.com/taotingkai/p/6182368.html
Copyright © 2020-2023  润新知