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

时间:2013-10-16 05:52:12

标签: java freeswitch

我正在开发freeswitch中两个应用程序之间的通信,我已经完成了一个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一个电话,请建议我们可以分享常见变量的方法,请帮帮我

1 个答案:

答案 0 :(得分:0)

让类实现可运行

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的不同流程。