我正在开发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一个电话,请建议我们可以分享常见变量的方法,请帮帮我
答案 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的不同流程。