Java 线程同步

Java 线程同步,java,multithreading,Java,Multithreading,我创建了两个线程,第一个线程调用应用程序 以及第二个线程,用于读取在第一个线程上调用应用程序而产生的文件。 调用应用程序工作正常,但读取文件无效 这是我的密码: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package reciverwindow; import java.util.logging.Level; import java.u

我创建了两个线程,第一个线程调用应用程序 以及第二个线程,用于读取在第一个线程上调用应用程序而产生的文件。 调用应用程序工作正常,但读取文件无效

这是我的密码:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package reciverwindow;

import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * 
 */
public class NewClass1 implements Runnable {

    public static void main(String[] args) {

        CallMatlab c = new CallMatlab();
        CUI m = new CUI();
        Thread t1 = new Thread(c);
         t1.start();
        Thread t2 = new Thread(m);

        t2.start();
       /* try {
            t2.sleep(3);
        } catch (InterruptedException ex) {
            Logger.getLogger(NewClass1.class.getName()).log(Level.SEVERE, null, ex);
        }
    }*/


   synchronized (t2) {
            try {
                t2.wait(3);
                  t2.notifyAll();
            } catch (InterruptedException ex) {
                Logger.getLogger(NewClass1.class.getName()).log(Level.SEVERE, null, ex);
            }
            }


    }

    public void run() {
        throw new UnsupportedOperationException("Not supported yet.");
    }
}

您可能想发布更多的代码,因为不清楚您要做什么以及您的同步要求是什么


奇怪的是你的t2。等等。你为什么要等三毫秒?也许你的意思是3秒钟(3000),这仍然很危险,但在你的情况下可能会起作用?

你可能想发布更多的代码,因为不清楚你要做什么以及你的同步要求是什么

奇怪的是你的t2。等等。你为什么要等三毫秒?也许你的意思是3秒钟(3000),这仍然很危险,但在你的情况下可能会起作用?

你说“读取文件不起作用”,也许你可以发布不起作用的代码,告诉我们发生了什么,以及你期望发生什么。你说“读取文件不起作用”,也许你可以发布不起作用的代码,告诉我们发生了什么以及你期望发生什么。