Đoạn mã KivaKit #6
Jan 03 2023
Tìm hiểu thêm về KivaKit https://state-of-the-art.org/https://www.
package com.telenav.kivakit.snippets;
import com.telenav.kivakit.core.collections.list.ObjectList;
import com.telenav.kivakit.core.language.trait.TryTrait;
import com.telenav.kivakit.core.thread.ThreadLocalMap;
import com.telenav.kivakit.core.value.count.Count;
import com.telenav.kivakit.core.value.count.MutableCount;
import java.util.concurrent.Future;
import static com.telenav.kivakit.core.collections.list.ObjectList.list;
import static com.telenav.kivakit.core.ensure.Ensure.ensureEqual;
import static com.telenav.kivakit.core.thread.Threads.shutdownAndAwaitTermination;
import static com.telenav.kivakit.core.thread.Threads.threadPool;
import static com.telenav.kivakit.core.value.count.Count._10_000;
import static com.telenav.kivakit.core.value.count.Count._8;
public class Snippet6 extends BaseSnippet implements TryTrait
{
public static void main(String[] args)
{
new Snippet6().run();
}
@Override
protected Object onSnippet()
{
var threads = _8;
var iterations = _10_000;
var map = new ThreadLocalMap<Integer, Integer>();
var executor = threadPool("Snippet-6", threads);
ObjectList<Future<Count>> futures = list();
threads.loop(() -> futures.add(executor.submit(() ->
{
iterations.forEachInteger(i -> map.put(i, i));
iterations.forEachInteger(i -> ensureEqual(i, map.get(i)));
return iterations;
})));
var total = new MutableCount();
for (var future : futures)
{
total.plus(tryCatch(() -> future.get()));
}
shutdownAndAwaitTermination(executor);
return total;
}
}
Output
80,000
Tìm hiểu thêm về KivaKit
https://state-of-the-art.org/
https://www.kivakit.org/
Những bài viết liên quan
Đoạn mã KivaKit #1
Đoạn mã KivaKit #2
Đoạn mã KivaKit #3
Sáu lý do tại sao hầu hết Java bạn đã thấy không phải là Java thực
Tại sao máy chủ không phải là chuỗi và cổng không phải là số nguyên
Số nguyên không phải là số đếm
Mọi thứ đều được phân chia và chinh phục

![Dù sao thì một danh sách được liên kết là gì? [Phần 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































