多线程相关

进程(Process)线程(Thread)

程序:指令和数据的有序集合。
进程:执行程序的一次执行过程,是系统资源分配的单位。
线程:一个进程可以包含多个线程,至少有一个线程(main主线程),线程是CPU调度和执行的单位。 
概念表述:

  1. 线程是独立的执行路径。
  2. 程序执行时,及时没有自己创建线程,后台也会有多个线程,如mian主线程、gc线程(垃圾清理)。
  3. mian() 称为主线程,是系统的入口,由于执行整个程序。
  4. 进程中有多个线程时,线程的运行由调度器(cpu)安排调度。
  5. 对同一份资源操作时,会存在资源抢夺的问题,需要加入并发控制。
  6. 线程带来的问题:cpu调度时间,并发控制开销。
  7. 每个线程在自己的工作内存交互,内存控制不当会造成数据的不一致。

线程的创建

  1. 继承Thread:
    // 创建线程方法1 : 继承Thread类 ,重写run() 方法 , 调用start 开启线程
    // 线程开启之后不一定立即执行,有cup进行调度
    public class testThread1 extends Thread{
        @Override
        public void run() {
            // 重写run()方法
            for (int i = 0; i < 5; i++) {
                System.out.println("其他----"+i);
            }
        }
        public static void main(String[] args) {
            // main线程为主线程 
            // 创建线程对象
            testThread1 testThread1 = new testThread1();
            // run() 和 start() 方法开起线程:
    //        testThread1.run();
            testThread1.start();
    
            for (int i = 0; i < 5; i++) {
                System.out.println("main主线程----"+i);
            }
        }
    }
    
    /*
    run()方法:
    其他----0
    其他----1
    其他----2
    其他----3
    其他----4
    main主线程----0
    main主线程----1
    main主线程----2
    main主线程----3
    main主线程----4
    
    start() 方法:
    其他----0
    main主线程----0
    其他----1
    main主线程----1
    其他----2
    main主线程----2
    其他----3
    main主线程----3
    其他----4
    main主线程----4
     */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值