Java-多线程

本文详细介绍了Java中的多线程概念,包括线程的组成、特点、创建方式、线程的获取与修改、线程池的使用以及线程安全的集合。通过继承Thread类、实现Runnable接口以及使用Callable接口来创建线程,并探讨了线程的并发执行机制和线程池的重要性。
摘要由CSDN通过智能技术生成

一、什么是线程

一个独立程序的每一次运行称为一个进程,每个进程中又可以包含多个同时执行的子任务,对应多个线程。进程是操作系统资源分配的基本单位,而线程是CPU的基本调度单位。

一个程序运行后至少有一个进程。

一个进程可以包含多个线程,但至少需要有一个线程,否则这个进程是没有意义的。

进程间不能共享数据段地址,但同进程的线程之间可以。

如果要实现一个程序中多段代码同时并发执行,就需要产生多个线程,并指定每个线程上所要运行的程序段,这就是多线程。

二、线程的组成与特点

CPU时间片:操作系统(OS)会为每一个线程分配执行时间。(根据时间片,抢占式执行,时间到了就切换)

运行数据:

堆空间:引用类型,存储线程需使用的对象(所有new的对象),多个线程可以共享堆中的对象。

栈空间:存储线程需使用的局部变量,每个线程都拥有独立的栈。

线程特点:

1.线程抢占式运行:效率高、防止单一线程长时间占用CPU。

2.在单核CPU中,宏观上同时执行,微观上顺序执行。

三、线程的创建

创建线程三种方式:

1.继承Thread类,重写run类方法()。

pubilc class MyThread extends Thread{ //继承Thread类

pubulic MyThread(){

}

pubulic MyThread(String name){

super(na

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值