同步操作将从 dwing/sharecode 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import java.util.concurrent.SynchronousQueue;// java PrimeCpublic class PrimeC {static final Thread.Builder.OfVirtual threadFactory = Thread.ofVirtual();static void go(Runnable r) {threadFactory.start(r);}static void generate(SynchronousQueue<Integer> ch) {try {//noinspection InfiniteLoopStatementfor (int i = 2; ; i++)ch.put(i);} catch (Exception e) {//noinspection CallToPrintStackTracee.printStackTrace();}}static void filter(SynchronousQueue<Integer> in, SynchronousQueue<Integer> out, int prime) {try {//noinspection InfiniteLoopStatementfor (; ; ) {var i = in.take();if (i % prime != 0)out.put(i);}} catch (Exception e) {//noinspection CallToPrintStackTracee.printStackTrace();}}public static void main(String[] args) throws InterruptedException {var count = args.length > 0 ? Integer.parseInt(args[0]) : 10000;go(() -> {var ch = new SynchronousQueue<Integer>(true);var ch0 = ch;go(() -> generate(ch0));try {for (int i = 0; ; ) {var prime = ch.take();if (++i == count) {System.out.println(prime);System.exit(0);}var ch1 = ch;var ch2 = new SynchronousQueue<Integer>(true);go(() -> filter(ch1, ch2, prime));ch = ch2;}} catch (Exception e) {//noinspection CallToPrintStackTracee.printStackTrace();}});Thread.sleep(1_000_000L);}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。