- 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实战与极速交付,智能开发全链路实战2026/07/22 周三 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;姜浩-华为云HCDG核心组成员
直播深度解读华为云码道6月产品新特性,从Skill市场安装专家技能,带你零距离体验从需求,开发,审查,重构全链路闭环的开发过程。从零构建并交付一个完整项目,让您体验从代码提交到服务上线的“极速”之旅。
回顾中 -
聚开发者之力,创具身新未来2026/07/23 周四 15:00-17:00
张豪杰/程文/王军/刘新春/黄钦开 /张晓天
本次华为云具身智能开发平台CloudRobo培训面向具身智能开发者,带您全流程体验机器人本体R2C小时级接入、环境重建与轨迹生成仿真数据生产、PB级数据管理、数据评测、模型训推、强化学习和Benchmark一键评测等功能,并体验业界主流具身模型应用。
回顾中 -
用码道,让你的AI作品三步上朋友圈2026/08/04 周二 19:00-20:00
林华鼎-华为云AI开发者运营负责人
从入门 · 到做AI应用 · 到企业级开发。不教编程,只教用AI · 零代码、有产出、能带走、可炫耀 · 每课人人动手实操
回顾中
热门标签