ChunkWorker class
Пакет: com.hypixel.hytale.server.worldgen.util
Файл: com/hypixel/hytale/server/worldgen/util/ChunkWorkerThreadFactory.java
extends: Thread
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
|
protected final ChunkGenerator |
chunkGenerator |
|
ChunkGeneratorResource |
var1 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public void |
runpublic void run() |
abstract |
|
super super(var1, var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.worldgen.util;
class="kw">import com.hypixel.hytale.server.worldgen.ChunkGeneratorResource;
class="kw">import com.hypixel.hytale.server.worldgen.chunk.ChunkGenerator;
class="kw">import java.util.concurrent.ThreadFactory;
class="kw">import java.util.concurrent.atomic.AtomicInteger;
class="kw">import javax.annotation.Nonnull;
class="kw">public class ChunkWorkerThreadFactory class="kw">implements ThreadFactory {
class="kw">private class="kw">static class="kw">final AtomicInteger FACTORY_COUNTER = new AtomicInteger();
class="kw">private class="kw">final ChunkGenerator chunkGenerator;
class="kw">private class="kw">final String threadNameFormat;
@Nonnull
class="kw">private class="kw">final Integer factoryId;
@Nonnull
class="kw">private class="kw">final AtomicInteger threadCounter;
class="kw">public ChunkWorkerThreadFactory(ChunkGenerator var1, String var2) {
this.chunkGenerator = var1;
this.threadNameFormat = var2;
this.factoryId = FACTORY_COUNTER.incrementAndGet();
this.threadCounter = new AtomicInteger();
}
@Nonnull
@Override
class="kw">public Thread newThread(Runnable var1) {
Integer var2 = this.threadCounter.incrementAndGet();
String var3 = String.format(this.threadNameFormat, this.factoryId, var2);
ChunkWorkerThreadFactory.ChunkWorker var4 = new ChunkWorkerThreadFactory.ChunkWorker(var1, var3, this.chunkGenerator);
var4.setDaemon(true);
class="kw">return var4;
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "ChunkWorkerThreadFactory{chunkGenerator="
+ this.chunkGenerator
+ ", threadNameFormat='"
+ this.threadNameFormat
+ "', factoryId="
+ this.factoryId
+ ", threadCounter="
+ this.threadCounter
+ "}";
}
class="kw">protected class="kw">static class ChunkWorker class="kw">extends Thread {
class="kw">protected class="kw">final ChunkGenerator chunkGenerator;
class="kw">protected ChunkWorker(Runnable var1, @Nonnull String var2, ChunkGenerator var3) {
super(var1, var2);
this.chunkGenerator = var3;
}
@Override
class="kw">public void run() {
ChunkGeneratorResource var1 = ChunkGenerator.getResource();
var1.init(this.chunkGenerator);
try {
super.run();
} class="kw">finally {
var1.release();
}
}
}
}