CodeGym
AI Academy
促销
CodeGym University
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • 多线程入门:为什么需要它

    JAVA 25 SELF
    等级 51,课时 0
    为什么程序需要线程和并行性:从响应式界面到用满所有处理器内核。我们将解析进程与线程的区别、 JVM 中主线程 main 的角色、实际案例(UI、服务器、文件处理)以及风险: race condition、 deadlock,还有诸如 synchronized 之类的基础同步工具。并展示一个使用 Thread 并行启动两个任务的简单示例。
    可用
  • 线程启动:Thread 与 Runnable,语法

    JAVA 25 SELF
    等级 51,课时 1
    本讲解介绍在 Java 中如何启动线程:认识 Thread 类和 Runnable 接口,学习正确调用 start(),不要把它与 run() 混淆,使用匿名类与 lambda 表达式,启动多个线程,并了解生命周期( NEW → RUNNABLE → TERMINATED)。我们还会讲 Thread.currentThread()、 getName()、通过 join() 等待以及诸如 IllegalThreadStateException 之类的常见错误。
    可用
  • 线程的状态与生命周期

    JAVA 25 SELF
    等级 51,课时 2
    我们来剖析 Java 中线程的生命周期:从 Thread.State (
    NEW
    ,
    RUNNABLE
    ,
    BLOCKED
    ,
    WAITING
    ,
    TIMED_WAITING
    ,
    TERMINATED
    ) 到它们之间的转换。学习使用 Thread.sleep(...)、 join()、 interrupt() 管理线程,通过 isAlive() 和 getState() 诊断状态,并避免使用 stop()/ suspend()/ resume() 等过时方法。最后——实用建议与常见错误。
    可用
  • 线程参数与优先级

    JAVA 25 SELF
    等级 51,课时 3
    如何通过实现 Runnable 的类的构造函数安全地向线程传递参数、何时适合使用 lambda 表达式,以及为何字段最好声明为 final。解析线程优先级: setPriority/ getPriority 方法, Thread.MIN_PRIORITY、 Thread.NORM_PRIORITY、 Thread.MAX_PRIORITY 常量及其对调度器的影响。另外——通过构造函数为线程命名, setName/ getName,实践示例与典型错误(共享 Runnable、setter、对优先级的过度期望)。
    可用
  • 竞态条件(race condition)

    JAVA 25 SELF
    等级 51,课时 4
    在本讲中,我们讲解什么是竞态条件:当多个线程同时访问共享数据,而结果取决于调度顺序。以自增 counter ++ 为例,展示为什么该操作不是原子的,以及增量是如何丢失的。我们分析一个银行账户的实战案例、在生产环境中的后果以及防护手段: synchronized、来自 java.util.concurrent.atomic 的原子类型(例如 AtomicInteger),以及不可变性。最后以“典型错误”一节收尾,解释为什么与 Thread 相关的 bug 很少被测试捕获,以及为何用 Thread. sleep( 1) 来“治疗”它们是没有意义的。
    可用
Learn
  • 注册
  • Java 课程
  • 任务帮助
  • 定价
  • Java 语法
社区
  • 用户
  • 文章
  • 论坛
  • 聊天
  • 成功故事
  • 动态
  • 联盟计划
Company
  • 关于我们
  • 联系方式
  • 评价
  • 媒体中心
  • CodeGym for EDU
  • 常见问题
  • 支持
CodeGymCodeGym 是一个从零开始学习 Java 编程的在线课程。该课程是初学者掌握 Java 的完美方式。它包含 1200+ 个带即时验证的任务,以及必要的 Java 基础理论。为了帮助你在学习中取得成功,我们实现了一系列激励功能:测验、编码项目、关于高效学习的内容,以及 Java 开发者职业相关内容。
关注我们
界面语言
English Deutsch Español हिन्दी Français Português Polski বাংলা
简体中文
मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
“程序员是培养出来的,不是天生的” © 2026 CodeGym
MastercardVisa
“程序员是培养出来的,不是天生的” © 2026 CodeGym