この記事では、Java が ExecutorService を使用して多数のスレッドを同期的に実行する方法を主に紹介します。ExecutorService は、重要なリソースを操作するときに多数のスレッドの安定性を維持します。
Java 1.5 以降、公式 Web サイトで Executor のようなクラスが開始されました。このクラスは、重要なリソースを操作するときに多数のスレッドの安定性を維持できます。
コードの一部から始めましょう:
TestRunnable.java
public class TestRunnable implements Runnable { private String name; public TestRunnable(String name) { this.name = name; } @Override public void run() { while (true) { if (Main.Surplus < 0) return; Main.Surplus--; System.out.println(name + " " + Main.Surplus); } } }
main入口
public static void main(String[] args) { TestRunnable runnable = new TestRunnable("runnable1"); TestRunnable runnable2 = new TestRunnable("runnable2"); Thread t1 = new Thread(runnable); Thread t2 = new Thread(runnable2); t1.start(); t2.start(); }
このようにして、もちろん、この時点でデータがめちゃくちゃになっていることが分かります。 synchronized キーワード、しかし、これはいくつかの小さな問題も引き起こします