首页 > 编程语言 >java如何使用线程池 new threadPoolExecutor()

java如何使用线程池 new threadPoolExecutor()

时间:2023-04-21 16:46:56浏览次数:36  
标签:search searchQuery java private 线程 executor new pool

//使用线程池 不返回结果 脚本中使用的
Class B {
private static final ExecutorService executor = new ThreadPoolExecutor(4, 10, 3000L,TimeUnit.MILLISECONDS,
new ArrayBlockingQueue<>(500),
new ThreadFactoryBuilder().setNameFormat("publish-pool-%d").build(),
(r, executor) -> {
log.error("publish - pool pool rejected")
})

executor.submit(()-> test());

// 具体调用的方法
protect void test() {
// 业务逻辑
}
}

// 接口中使用
class A{

private static final ExecutorService executor = new ThreadPoolExecutor(8, 12, 60L,TimeUnit.SECONDS,
new LinkedBlockingQueue<>(100),
new ThreadFactoryBuilder().setNameFormat("publish-pool-%d").build(),
new ThreadPoolExecutor.AbortPolicy
)

Future<Map<String, Object>> future = executor.submit(new search(searchQuery));
class search implements Callable<Map<String, Object> > {
private SearchQuery searchQuery;
search(SearchQuery searchQuery) {
this.searchQuery = searchQuery;
}
}

private Map<String, Object> searcRecord(SearchQuery searchQuery)) {

// 业务代码

}

@Override
public Map<String, Object> call() throws Exception {
return searcRecord(searchQuery);
}
}

标签:search,searchQuery,java,private,线程,executor,new,pool
From: https://www.cnblogs.com/zay18/p/17340633.html

相关文章

  • Srping AOP的学习(二):java代理
    1.代理的介绍说的java的代理,就离不开java的代理模式。而java的代理模式就是通过引入一个代理对象来代替我们的实际对象进行操作,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。所以代理就是实现对功能的扩展。2.代理的分类代理按照大的分类可以分......
  • Java基础语法(一):Java程序的结构
    前言Java是一种流行的面向对象编程语言,可以用于开发各种应用程序,从桌面应用程序到企业级Web应用程序和移动应用程序。编写Java程序时,良好的程序结构是至关重要的,因为它可以帮助程序员更好地组织代码并使其易于维护和扩展。本文将介绍Java程序的结构,包括程序组成部分、代码结构和组......
  • Java Selenium4 ChromeDriver获取指定的POST请求
    前言最近项目上需要去找某个网站对应的请求数据,但是这个网站有个奇怪的反爬机制,你如果直接去请求这个url(listPro)是获取不到数据的,它会返回一段加密后的js代码过来,如果在浏览器上执行也不行,需要在这个网站上执行,这段代码主要是加密设置一个cookie,我在浏览器上复制这个cookie后,可以......
  • 【汇智学堂】JAVA多线程实现的小游戏-龟兔争霸-2
    角色入场:publicvoidpaint(Graphicsg){g.clearRect(0,0,1600,900);Imageimage=newImageIcon("D:\\综合案例\\10\\src\\tu.png").getImage();//获取图片资源g.drawImage(image,PositionA-50,100,RecWidth,RecHeight......
  • 【汇智学堂】JAVA多线程实现的小游戏-弹球-2
    显示球板Ui类/**\*定义界面*显示球板*/packagecom.huizhi;importjavax.swing.*;importjava.awt.*;publicclassUiextendsJFrame{staticintPositionA=50,RecWidth=50,RecHeight=20;publicUi(){setTitle("弹球游戏");......
  • 重新学习Java线程原语
    Synchronized曾经是一个革命性的技术,在当前仍然有重要的用途。但是,现在是时候转向更新的Java线程原语,同时重新考虑我们的核心逻辑。自从Java第一个测试版以来,我就一直在使用它。从那时起,线程就是我最喜欢的特性之一。Java是第一种在编程语言本身中引入线程支持的语言。那是一个......
  • nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned in
    在封装非MFC环境的静态库时调用了依赖MFC环境的静态库时编译测试程序报错如下:nafxcw.lib(afxmem.obj):errorLNK2005:"void*__cdecloperatornew(unsignedint)"(??2@YAPAXI@Z)已经在LIBCMT.lib(new.obj)中定义nafxcw.lib(afxmem.obj):errorLNK2005:"void*__cde......
  • java EE开发之Servlet第十一课:反射基础三
    javaEE开发之Servlet第十一课:反射基础三1.使用反射机制形成通用sql语句1)构建insert语句publicstaticvoidsave(Objectobj){ //获取传递过来对象的Class类对象 Classc=obj.getClass(); //获取数据库连接 Connectionconn=getConn(); //准备执行SQL语句的对象(车......
  • JAVA入门第一天随记
    通过狂神第一天的课,对内容进行总结:一、关于markdown语法的学习1.对常用的语法进行总结1.标题2.字体斜体粗体粗斜体3.删除线无序列表2.快捷键Ctrl+Z:撤销Ctrl+X:剪切Ctrl+S:保存win+R:打开运行win+E:打开我的电脑3.打开CMD的方式1.Win+R输入cmd打开控......
  • JAVA获取当前时间的三种方法
    1、java.util.Dateday=newDate();SimpleDateFormatsdf=newSimpleDateFormat(“yyyy-MM-ddHH:mm:ss”);System.out.println(sdf.format(day));通过Date类来获取当前时间,比较常用。需要使用Java.util.Date类,速度一般。2、SimpleDateFormatsdf=newSimpleDateFormat......