动机:尝试迁移虚拟线程。
问题:尽管虚拟线程很便宜,但操作系统可能会发现同时堆叠某些进程很可疑,例如在网络上搜索 IP 或端口。
我使用下面的代码来限制线程的创建。TS_NetworkIPUtils TS_NetworkPortUtils
var executor = useVirtualThread
? Executors.newVirtualThreadPerTaskExecutor()
: Executors.newFixedThreadPool(MAX_THREAD_COUNT());
Run Code Online (Sandbox Code Playgroud)
是否可以创建一个执行器服务来创建虚拟线程并同时具有限制功能?
对于下面的示例代码,如何从 迁移synchronized到ReentrantLock?
下面是重构后的代码
public final class ControllerCell {
public final int tableSize;
private final ObjectCell cells[][];
private final TGS_ShapeDimension<Integer> cellSize;
private final float jpeg_quality;
public static ControllerCell of(float jpeg_quality, int tableSize) {
return new ControllerCell(jpeg_quality, tableSize);
}
private ControllerCell(float jpeg_quality, int tableSize) {
this.jpeg_quality = jpeg_quality;
this.tableSize = tableSize;
cellSize = new TGS_ShapeDimension(0, 0);
cells = new ObjectCell[tableSize][tableSize];
}
final public void processImage(ControllerInput cInput) {
cellSize.width = cInput.screenSize.width / tableSize;
cellSize.height = cInput.screenSize.height / tableSize;
for …Run Code Online (Sandbox Code Playgroud)