多线程学习笔记一 基本概念

本文深入探讨了并行与并发的概念,详细解释了多线程的背景、优点及其实现方式,包括线程调度、同步机制以及常用的Thread类方法,旨在提升程序性能与用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

并行 与并发
    并行:多个CPU同时执行多个任务,
    并发:一个CPU(采用时间片)同时执行多个任务

多线程
    一、背景

    二、优点
    1、提高计算机程序的响应,对图形化界面更有意义,可增强用户体验。
    2、提高计算机系统CPU的利用率
    3、改善程序结构。将即长又复杂的进程分为多个线程,独立运行,有利于理解和修改。

    三、线程的调度
    1、线程优先级 最大 10 最小 1 正常 5 Thread类中有

    四、线程的同步
    1、代码同步
    方式一、同步代码块
    synchronized(同步监视器){
    //1、需要被同步的代码快 操作共享数据的代码
    //2、共享数据 多个线程共同操作的变量
    //3、同步监视器:锁 任何一个类的对象都可以充当锁
         //要求多个线程必须要共用一把锁。

    }
    方式二、同步方法
    方式三、lock
    五、方法
    了解一下 Thread 方法
    1)public void start() 使该线程开始执行, java 虚拟机调用该线程的run 方法
    2)public void run() 如果实现使用Runnable 运行对象构造的,则你应该用实现Runnable对象的run方法
    3)public final void setName(String name) 设置线程名称
    4)public final void setPriority(int priority) 设置线程的优先级
    5)public final void setDaemon(boolean on)  将该线程标记为守护线程或用户进程
    6)public final void join(long millisec) 等待该线程终止的时间最长为mills 毫秒
    7)public void interrupt() 中断线程
    8)public final boolean isAlive() 测试线程是否处于活动状态

    1) public static void yield() 暂停当前正在执行的线程对象,并执行其他线程。
    2) public static void sleep(long millisec) 指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。
    3) public static boolean holdLock(Object x) 当前仅当当前线程在指定的对象上保持监视器锁时, 才返回true
    4) public static Thread currentThread() 返回当前正在进行的线程对象的引用
    5)public static void dumpStack() 将当前线程的堆栈跟踪打印至标准错误流

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值