小编Ren*_*tsu的帖子

显示 Java 中与 2 个线程同步的用法

我一直在寻找多线程教程和那些特定于同步的教程,但我一直无法实现我需要的东西。

它展示了我的程序中发生的同步。

基本上,我有一个类从其他类继承了一些函数,这些函数需要同步以便两个线程不会同时修改对象(没有数据损坏)。

我以前在没有同步关键字的情况下实现了代码,所以我可以设法看到数据损坏的发生。

 EditOptionsMethods e1;
    int threadNo;

    public EditOptions() {
        e1 = new BuildAuto();
        run();
    }

    public void run() {
        System.out.println("Thread running.");

        switch (threadNo) {
            case 0:

                break;

            case 1:
                break;
        }

    }

    public void setOptions(String optSetName1, String desiredOption1, String optSetName2, String desiredOption2) {
        e1.s_Option(optSetName1, desiredOption1); // 
        e1.s_Option(optSetName2, desiredOption2);
    }
Run Code Online (Sandbox Code Playgroud)

s_Option 必须同步,因此两个线程都不会发生。我首先将在没有同步的情况下使用它,然后我可以初始化一个循环(具有高索引量,假设为 1000,然后我用第一个线程添加,并用第二个线程减去)以查看发生的损坏作为示例。

但我没有找到一种方式来展示这一点。

如果有人知道我如何实现这一点,那就太棒了。

java parallel-processing multithreading synchronization thread-safety

5
推荐指数
1
解决办法
87
查看次数