1

我想从命令行运行一个程序的多个实例,我需要知道哪个是第一个启动的——我需要同步它们。我还需要知道后续实例不是第一个。目前我问运营商这是否是一审,但我宁愿不必这样做。

任何人都可以提出更好的方法来处理这种情况。

4

1 回答 1

2

检测程序实例是否是第一个时刻通常使用互斥锁来完成。但是 Dart 没有内置任何同步方法。

另一种方法是在环回接口上使用网络端口。选择一个固定的端口,如果启动了实例,检查是否可以监听该端口。如果端口不可用,则另一个实例已在运行。

作为一个积极的副作用,您可以使用连接在应用程序的实例之间进行通信。

于 2013-08-10T14:56:28.623 回答