线程基本概念[java]

线程是系统调度的最小单位
线程可以理解成是在进程中独立运行的子任务。
举例说明:比如QQ.exe运行时就会有很多的子任务在同时运行。比如,好友视频线程、下载文件线程、传输数据线程、发送表情线程等。这些不同的任务或者说功能都可以同时运行,其中每一个任务完全可以理解成是“线程”在工作,传文件、听音乐、发送图片表情等功能都有对应的线程在运行。
1.线程的创建
(1)继承Thread;
(2)实现Runnable接口;通过实现 Runnable 接口,并且调用 Thread 的构造方法时将 Runnable 对象作为 target 参数传入来创建线程对象。该方法的好处是可以规避类的单继承的限制;但需要通过Thread.currentThread() 来获取当前线程的引用。

(3)通过匿名类在这里插入图片描述

(4)lambda表达式在这里插入图片描述
2.启动线程
.start(); 调用start方法启动一个线程;
若直接调用run()方法相当于调用一个普通方法,并不是真正的启动一个线程;

3.线程与进程
(1)调度:进程资源分配的基本单位,线程是系统调度的基本单位,进程维护资源,线程是真正的执行体。
(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行
(3)资源共享:进程是拥有资源的一个独立单位,线程资源共享. 线程只能属于一个进程,而进程可以创建多个线程,且最少创建一个主线程。
(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值