什么是线程

什么是线程,什么是进程,--什么是协程/纤程:

程序:就是操作系统的一个 可执行文件   比如QQ.exe
进程:操作系统进行资源分配的基本单位
线程:在进程的内部,是调度执行的基本单位(多个线程之间共享这个分配的资源)

线程是在进程的内部,是进程的最小执行单位

程序是在硬盘上的,等他真正执行的时候,他会把这个文件的相关信息Load到内存里,叫做一个进程,就可以给他分配程序执行所需要的资源了,
一个程序可以有多个进程,真正开始执行的时候程序是以线程为基本单位开始执行,操作系统会找到这个进程的主线程
main方法,然后扔给cpu去执行,主线程如果中间开启了其他线程,再来线程之间的来回切换

单线程:如果程序里没有同时都在运行的路径,那就是单线程
多线程:一个程序中有多个线程在同时执行

多线程程序并不能提高程序的运行速度,但能够提高程序运行效率,让CPU的使用率更高

public class demo{
    class T1 extends Thread{
        @Override
        public void run(){}  ----->输出T1
    }
    psvm{
        new T1().run();    -----这种方式是   T1,T1,T1,T1,T1,T2,T2,T2,T2,T2  
        new T1().start();    ------这种方式是   交替输出    T1,T2,T1,T2,T1,T2
        sout("输出T2");
    }
}

run():start()比较 

start会在启动的时候创建一个线程运行run方法
run是直接在主线程运行(就相当于调用了一个普通方法)


1、为什么会有start方法,因为他继承了Thread类
2、run():相当于运行main方法开始,先去跑run方法,跑完之后继续执行之后的代码
     start():相当于运行main方法开始,多出去一个线程去跑run方法,那边继续跑main方法的输出,所以会交替输出

线程:一个程序里不同的执行路径  就叫做一个线程


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值