如何在呼叫中共享两个频道的公用 ID



我正在自由开关中研究两个应用程序之间的通信,我已经完成了Java程序的以下操作,

ProcessBuilder processBuilder = new ProcessBuilder( "/bin/bash", "-c", "cd /usr/local/freeswitch/bin && ./fs_cli -x "originate loopback/1234/default &bridge(sofia/internal/1789)"" );
processBuilder.start();

工作正常,我只想运行相同的程序更多次来测试系统功能,所以如果我需要多次运行它,我只想在通话中通信通道之间共享一个公共ID,请建议一些我们可以共享公共变量的方法, 请帮助我

让一个类实现可运行

class myRunnable implements Runnable
{
    int commonId = 1234; // all threads have this same common id
    public void run()
    {
         // do something with the common id
         // all threads share this common code
         ProcessBuilder processBuilder = new ProcessBuilder( "/bin/bash", "-c", "cd /usr/local/freeswitch/bin && ./fs_cli -x "originate loopback/1234/default &bridge(sofia/internal/1789)"" );
         processBuilder.start();
    }
}

创建并启动线程

int i=0,n=5;
for(i=0;i<n;i++) new Thread(new myRunnable).start(); // this will fire off 5 threads

因此,您将有 5 个具有相同公共 ID 的不同进程。

最新更新