- RUNNING:这是最正常的状态,接受新的任务,处理等待队列中的任务。 SHUTDOWN:不接受新的任务提交,但是会继续处理等待队列中的任务。 STOP:不接受新的任务提交,不再处理等待队列中的任务,中断正在执行任务的线程。 TIDYING:所有的任务都销毁了,workCount 为 0,线程池的状态在转换为 TIDYING 状态时,会执行钩子方法 termi... RUNNING:这是最正常的状态,接受新的任务,处理等待队列中的任务。 SHUTDOWN:不接受新的任务提交,但是会继续处理等待队列中的任务。 STOP:不接受新的任务提交,不再处理等待队列中的任务,中断正在执行任务的线程。 TIDYING:所有的任务都销毁了,workCount 为 0,线程池的状态在转换为 TIDYING 状态时,会执行钩子方法 termi...
- execute():只能执行 Runnable 类型的任务。submit():可以执行 Runnable 和 Callable 类型的任务。submit有返回值,execute没有返回值Callable 类型的任务可以获取执行的返回值,而 Runnable 执行无返回值。 execute():只能执行 Runnable 类型的任务。submit():可以执行 Runnable 和 Callable 类型的任务。submit有返回值,execute没有返回值Callable 类型的任务可以获取执行的返回值,而 Runnable 执行无返回值。
- RUNNING:这是最正常的状态,接受新的任务,处理等待队列中的任务。 SHUTDOWN:不接受新的任务提交,但是会继续处理等待队列中的任务。 STOP:不接受新的任务提交,不再处理等待队列中的任务,中断正在执行任务的线程。 TIDYING:所有的任务都销毁了,workCount 为 0,线程池的状态在转换为 TIDYING 状态时,会执行钩子方法 termi... RUNNING:这是最正常的状态,接受新的任务,处理等待队列中的任务。 SHUTDOWN:不接受新的任务提交,但是会继续处理等待队列中的任务。 STOP:不接受新的任务提交,不再处理等待队列中的任务,中断正在执行任务的线程。 TIDYING:所有的任务都销毁了,workCount 为 0,线程池的状态在转换为 TIDYING 状态时,会执行钩子方法 termi...
- execute():只能执行 Runnable 类型的任务。submit():可以执行 Runnable 和 Callable 类型的任务。submit有返回值,execute没有返回值Callable 类型的任务可以获取执行的返回值,而 Runnable 执行无返回值。 execute():只能执行 Runnable 类型的任务。submit():可以执行 Runnable 和 Callable 类型的任务。submit有返回值,execute没有返回值Callable 类型的任务可以获取执行的返回值,而 Runnable 执行无返回值。
- 守护线程是运行在后台的一种特殊进程。它于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。在 Java 中垃圾回收线程就是特殊的守护线程。 守护线程是运行在后台的一种特殊进程。它于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。在 Java 中垃圾回收线程就是特殊的守护线程。
- 创建线程有三种方式:继承 Thread 重写 run 方法;实现 Runnable 接口;实现 Callable 接口。 创建线程有三种方式:继承 Thread 重写 run 方法;实现 Runnable 接口;实现 Callable 接口。
- 创建线程有三种方式:继承 Thread 重写 run 方法;实现 Runnable 接口;实现 Callable 接口。 创建线程有三种方式:继承 Thread 重写 run 方法;实现 Runnable 接口;实现 Callable 接口。
- 守护线程是运行在后台的一种特殊进程。它于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。在 Java 中垃圾回收线程就是特殊的守护线程。 守护线程是运行在后台的一种特殊进程。它于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。在 Java 中垃圾回收线程就是特殊的守护线程。
- 1. 对于 sleep()方法,我们首先要知道该方法是属于 Thread 类中的。而 wait()方法,则是属于Object 类中的。2. sleep()方法导致了程序暂停执行指定的时间,让出 cpu 该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。3. 在调用 sleep()方法的过程中,线程不会释放对象锁。4. 而当调用 wait()方法的时候,线程会放弃对... 1. 对于 sleep()方法,我们首先要知道该方法是属于 Thread 类中的。而 wait()方法,则是属于Object 类中的。2. sleep()方法导致了程序暂停执行指定的时间,让出 cpu 该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。3. 在调用 sleep()方法的过程中,线程不会释放对象锁。4. 而当调用 wait()方法的时候,线程会放弃对...
- CAS是项乐观锁技术,当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其它线程都失败,失败的线程并不会被挂起,而是被告知这次竞争中失败,并可以再次尝试。CAS优点确保对内存的读-改-写操作都是原子操作执行CAS缺点循环时间长开销大和只能保证一个共享变量的原子操作 CAS是项乐观锁技术,当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其它线程都失败,失败的线程并不会被挂起,而是被告知这次竞争中失败,并可以再次尝试。CAS优点确保对内存的读-改-写操作都是原子操作执行CAS缺点循环时间长开销大和只能保证一个共享变量的原子操作
- 1.继承Thread类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run() 方法称为执行体。 (2)创建Thread子类的实例,即创建了线程对象。 (3)调用线程对象的start()方法来启动该线程。2.实现Runnable接口 (1)定义runnable接口的实现类,并重写该接口的run()方法,该run()方... 1.继承Thread类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run() 方法称为执行体。 (2)创建Thread子类的实例,即创建了线程对象。 (3)调用线程对象的start()方法来启动该线程。2.实现Runnable接口 (1)定义runnable接口的实现类,并重写该接口的run()方法,该run()方...
- 1.继承Thread类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run() 方法称为执行体。 (2)创建Thread子类的实例,即创建了线程对象。 (3)调用线程对象的start()方法来启动该线程。2.实现Runnable接口 (1)定义runnable接口的实现类,并重写该接口的run()方法,该run()方... 1.继承Thread类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run() 方法称为执行体。 (2)创建Thread子类的实例,即创建了线程对象。 (3)调用线程对象的start()方法来启动该线程。2.实现Runnable接口 (1)定义runnable接口的实现类,并重写该接口的run()方法,该run()方...
- CAS是项乐观锁技术,当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其它线程都失败,失败的线程并不会被挂起,而是被告知这次竞争中失败,并可以再次尝试。CAS优点确保对内存的读-改-写操作都是原子操作执行CAS缺点循环时间长开销大和只能保证一个共享变量的原子操作 CAS是项乐观锁技术,当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其它线程都失败,失败的线程并不会被挂起,而是被告知这次竞争中失败,并可以再次尝试。CAS优点确保对内存的读-改-写操作都是原子操作执行CAS缺点循环时间长开销大和只能保证一个共享变量的原子操作
- 》自旋锁是SMP架构中的一种low-level的同步机制》当线程A想要获取一把自旋锁而该锁又被其他线程锁持有时,线程A会在一个循环中自旋以检测锁是不是已经可用了。》由于自旋时不释放CPU,因而持有自旋锁的线程应该尽快释放自旋锁,否则等待该自旋锁的线程会一直在那里自旋,这就会浪费CPU时间》持有自旋锁的线程在sleep之前应该释放自旋锁以便其它线程可以获得自旋锁。 》自旋锁是SMP架构中的一种low-level的同步机制》当线程A想要获取一把自旋锁而该锁又被其他线程锁持有时,线程A会在一个循环中自旋以检测锁是不是已经可用了。》由于自旋时不释放CPU,因而持有自旋锁的线程应该尽快释放自旋锁,否则等待该自旋锁的线程会一直在那里自旋,这就会浪费CPU时间》持有自旋锁的线程在sleep之前应该释放自旋锁以便其它线程可以获得自旋锁。
- 》自旋锁是SMP架构中的一种low-level的同步机制》当线程A想要获取一把自旋锁而该锁又被其他线程锁持有时,线程A会在一个循环中自旋以检测锁是不是已经可用了。》由于自旋时不释放CPU,因而持有自旋锁的线程应该尽快释放自旋锁,否则等待该自旋锁的线程会一直在那里自旋,这就会浪费CPU时间》持有自旋锁的线程在sleep之前应该释放自旋锁以便其它线程可以获得自旋锁。 》自旋锁是SMP架构中的一种low-level的同步机制》当线程A想要获取一把自旋锁而该锁又被其他线程锁持有时,线程A会在一个循环中自旋以检测锁是不是已经可用了。》由于自旋时不释放CPU,因而持有自旋锁的线程应该尽快释放自旋锁,否则等待该自旋锁的线程会一直在那里自旋,这就会浪费CPU时间》持有自旋锁的线程在sleep之前应该释放自旋锁以便其它线程可以获得自旋锁。
上滑加载中
推荐直播
-
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中 -
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
回顾中 -
华为云码道:零代码股票智能决策平台全功能实战2026/04/18 周六 10:00-12:00
秦拳德-中软国际教育卓越研究院研究员、华为云金牌讲师、云原生技术专家
利用Tushare接口获取实时行情数据,采用Transformer算法进行时序预测与涨跌分析,并集成DeepSeek API提供智能解读。同时,项目深度结合华为云CodeArts(码道)的代码智能体能力,实现代码一键推送至云端代码仓库,建立起高效、可协作的团队开发新范式。开发者可快速上手,从零打造功能完整的个股筛选、智能分析与风险管控产品。
回顾中
热门标签