当前位置: 首页 > news >正文

浙0577 icp网站建设连云港百度推广总代理

浙0577 icp网站建设,连云港百度推广总代理,厦门seo屈兴东,辽宁建设考试培训网站jd19支持虚拟线程,虚拟线程是轻量级的线程,它们不与操作系统线程绑定,而是由 JVM 来管理。它们适用于“每个请求一个线程”的编程风格,同时没有操作系统线程的限制。我们能够创建数以百万计的虚拟线程而不会影响吞吐。 做个 spri…

jd19支持虚拟线程,虚拟线程是轻量级的线程,它们不与操作系统线程绑定,而是由 JVM 来管理。它们适用于“每个请求一个线程”的编程风格,同时没有操作系统线程的限制。我们能够创建数以百万计的虚拟线程而不会影响吞吐。

做个 springboot demo 尝试一下。

环境

  • jdk19
  • gradle 7.6.1
  • IntelliJ IDEA 2022.2.4

build.gradle

plugins {id 'java'id 'org.springframework.boot' version '3.0.3'id 'io.spring.dependency-management' version '1.1.0'
}group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '19'configurations {compileOnly {extendsFrom annotationProcessor}
}repositories {mavenCentral()
}dependencies {implementation 'org.springframework.boot:spring-boot-starter'compileOnly 'org.projectlombok:lombok'developmentOnly 'org.springframework.boot:spring-boot-devtools'annotationProcessor 'org.projectlombok:lombok'testImplementation 'org.springframework.boot:spring-boot-starter-test'
}tasks.named('test') {useJUnitPlatform()
}tasks.withType(JavaCompile) {options.compilerArgs += "--enable-preview"
}

多线程demo

写一段多线程调用的代码,程序入口

package com.example.myvirtualthreaddemo;import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.core.task.AsyncTaskExecutor;
import org.springframework.core.task.support.TaskExecutorAdapter;
import org.springframework.scheduling.annotation.EnableAsync;import java.util.concurrent.Executors;@EnableAsync
@SpringBootApplication
public class MyVirtualThreadDemoApplication {public static void main(String[] args) {SpringApplication.run(MyVirtualThreadDemoApplication.class, args);}@BeanCommandLineRunner commandLineRunner(AsyncService asyncService){return args -> {for(int i = 0; i < 100; i++){asyncService.fun(i);}};}
}
package com.example.myvirtualthreaddemo;import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;@Service
@Slf4j
public class AsyncService {@Asyncpublic void fun(int i) {log.info("fun:{}", i);}
}

运行结果,使用平台线程(默认8个)

在这里插入图片描述

使用虚拟线程

在MyVirtualThreadDemoApplication添加以下代码块

@Bean(TaskExecutionAutoConfiguration.APPLICATION_TASK_EXECUTOR_BEAN_NAME)public AsyncTaskExecutor asyncTaskExecutor(){return new TaskExecutorAdapter(Executors.newVirtualThreadPerTaskExecutor());}

运行结果,使用虚拟线程
在这里插入图片描述

遇到的一些问题

请使用 --enable-preview 以启用预览 API

解决办法:

  1. build.gradle里添加以下配置:
tasks.withType(JavaCompile) {options.compilerArgs += "--enable-preview"
}
  1. 设置vm选项如图
    在这里插入图片描述
http://www.khdw.cn/news/49571.html

相关文章:

  • 菜鸟教程网站是怎么做的项目优化seo
  • 页面设计网站素材西安发布最新通知
  • 织梦怎么在本地编辑多个网站网页推广链接怎么做
  • 西安网站排名推广seo顾问服务公司
  • 深圳做网站行业百度视频推广
  • 衡水网站建设百度广告推广费用
  • 深圳网页设计培训视频甲马营seo网站优化的
  • 威海做网站多少钱口碑营销的特征
  • 那个网站做图片好百度竞价排名查询网站
  • 河北移动端网站建设重庆关键词排名推广
  • 做网站无赖客户退款宁波百度快照优化排名
  • 个人可以做企业网站seo新人培训班
  • 家居网站建设行业现状seoul是什么意思
  • 做网站免费的域名搜索百度下载安装
  • cms框架惠州seo
  • 张家口网站开发淘宝运营培训班学费大概多少
  • 学校网站建设的技术方案站长之家seo查询官方网站
  • 做雕塑网站互联网+营销策略怎么写
  • 做纺织生意用什么网站好百度人工客服电话怎么转人工
  • 网站内容优化方法有哪些内容杯子软文营销300字
  • 中小型网站建设渠道杭州seo培训
  • 建设项目网站备案北京关键词优化服务
  • 个人网站备案幕布百度站长中心
  • 机械做网站黄页引流推广网站入口
  • 贵州中英文网站制作交换友情链接平台
  • 做网站是百度包年快照网站推广软件下载
  • 网站开发网站设计案例友链申请
  • 网站电子报怎么做发布平台有哪些
  • 龙岗地区做网站公司seo网站优化多少钱
  • 怎么做中英文的网站必应搜索国际版