首页 > 编程语言 >java 线程

java 线程

时间:2024-08-26 22:23:06浏览次数:13  
标签:状态 java 队列 创建 任务 线程 哪几种

1.Java中有哪几种方式来创建线程执行任务

1.继承Thread类(单继承)

2.Runnable接口(没有继承限制)但是无法返回值

3.callable接口结合FutureTask

4.利用线程池来创建线程使用Executor Service调用execute通过runnable创建

底层都是基于runnable

2.为什么不建议使用Executors来创建线程池

1.如果创建的队列为Linked Blocking Queue是一个无界堵塞队列,如果使用该线程池执行任务,如果任务过多就会不断的添加到队列中,任务越多占用内存就越多,最终可能耗尽内存,导致OOM

不推荐使用内置的,可以自己new一个ThreadPoolExecutor

3.线程池中有哪几种状态,每种状态分别是什么

五种状态

running(运行状态)

shutdown(关闭状态)队列中如果有任务,还是会执行完毕

stop(停止状态)调用了shutdownnow状态

tidying(整理状态)中间状态,没有任何处理,保持原子性

terminated(终止状态)

ctl除了会存状态,还会存线程池的总数量 他有32个bite位,高三位存状态,低29位用来存线程池的数量。

标签:状态,java,队列,创建,任务,线程,哪几种
From: https://blog.csdn.net/qq_63126439/article/details/141575036

相关文章

  • Java拼图小游戏
    登录界面注册界面游戏页面上代码App.javaimportcom.ui.GameJFrame;importcom.ui.LoginJFrame;importcom.ui.RegisterJFrame;publicclassApp{publicstaticvoidmain(String[]args){newLoginJFrame();//newGameJFrame();//......
  • 从主流技术架构视角剖析 Java Web 项目的性能测试策略与挑战
    随着互联网应用的不断发展,JavaWeb项目在企业级应用中占据了重要地位。然而,如何在复杂的技术架构下,确保项目的高性能和稳定性,成为了每个开发与测试团队无法回避的难题。今天,我们将从主流技术架构的视角,深度剖析JavaWeb项目的性能测试策略与面临的挑战,为你揭开性能优化的神......
  • 【Java】/* 二叉树 - 底层实现*/
    一、前序遍历-递归/*1.前序遍历-递归*/publicvoidpreOrder(TreeNoderoot){//1.如果根节点为nullif(root==null){return;}//本意:打印树的根,左,右节点//2.打印根节点的值System.out......
  • Java中的异常
    目录一、异常的概念二、异常的分类1.编译时异常2.运行时异常3.错误(Error)三、异常的处理方式1.使用try-catch语句捕获异常: 2.使用try-catch-finally语句: 3.使用throws关键字声明方法可能抛出的异常:四、自定义异常一、异常的概念在Java中,异常是在程序运行过程中......
  • 新Java萝卜影视4.0.5原生源码【完美修复完整版】
    新Java萝卜影视4.0.5原生源码【完美修复完整版】新Java萝卜影视4.0.5原生源码【完美修复完整版】源码介绍新Java萝卜影视4.0.5是一个基于Java语言开发的影视播放应用。该版本在原有基础上进行了多项优化和修复,提升了应用的稳定性和用户体验。源码采用原生Java编写,适合Java开......
  • 基于Java+SpringBoot+Mysql实现高校教务信息系统功能设计与实现二
    一、前言介绍:1.1项目摘要高校教务信息系统课题的提出,主要源于高校日常管理工作的复杂性和重要性。作为高校的基本任务,人才培养离不开教学与管理工作的有效组织和协调。教务管理作为高校日常管理的核心组成部分,涉及教学资源的合理配置、教学过程的科学规划以及教学质量的......
  • 基于Java+SpringBoot+Mysql实现高校教务信息系统功能设计与实现三
    一、前言介绍:1.1项目摘要高校教务信息系统课题的提出,主要源于高校日常管理工作的复杂性和重要性。作为高校的基本任务,人才培养离不开教学与管理工作的有效组织和协调。教务管理作为高校日常管理的核心组成部分,涉及教学资源的合理配置、教学过程的科学规划以及教学质量的......
  • 操作系统终止线程
    终止线程方法1:从线程入口函数中return,主线程除外。方法2:调用pthread_exit函数。voidpthread_exit(void*retval);retval-和线程过程函数的返回值语义相同。注意:在任何线程中调用exit函数都将终止整个进程。问题:主线程结束,子线程是否会跟着一起结束?主线程结束,并不会......
  • 计算机毕业设计-基于Java+SSM架构的高校毕业生就业管理系统项目开发实战(附源码+论文)
    大家好!我是程序员一帆,感谢您阅读本文,欢迎一键三连哦。......
  • 一次性下发100w的优惠券/短信/二维码,兼顾线程池参数可配置 在Spring 中 ThreadPoolTas
    一次性下发100w的优惠券/短信/二维码,兼顾线程池参数可配置在Spring中ThreadPoolTaskExecutor的使用1、场景需求分析针对6.18,11.11这种场景,平台一次性发布500w张优惠券,或者对于锁单用户统一发下100w张确认信息,同时我们平时有抢购茅台的场景,京东一次性发布10w个验证码,主要是针......