- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我读了documentation ,它是这样说的:-
Populate a client workspace, but do not update the have list. Any file that is already synced or opened is bypassed with a warning message. This option is typically used for workspaces used in processes (such as certain build or publication environments) where there is no need to track the state of the workspace after it has first been synced.
但我不太明白这样做的优点(或缺点)。
最佳答案
下面是一个有用的示例:您有一个构建场(例如 10 个构建服务器);这 10 台服务器是克隆:每台服务器都安装了相同的软件,每台服务器都可以构建您的项目,并且每台服务器都在相同的本地路径(例如 C:\buildServer\projectFoo\
)上构建您的项目。为了节省维护成本,您创建一个单个 P4 客户端(我们称之为 clientFoo
),而不是 10 个客户端(每个构建服务器一个)。您可以在所有 10 个构建服务器上使用它,因为 clientFoo
的 Host
未指定(在客户端设置中)。显然,clientFoo
将您的仓库路径映射到 C:\buildServer\projectFoo\
,它适用于您的所有 10 个构建盒。
现在假设您的构建服务器使用 p4sync
而不是 p4sync -p
。首先,构建服务器 A 将调用 p4sync 并在本地文件系统上获取 Foo 项目。好的。但是,由于它没有使用 -p
,它还更新了 Perforce 服务器,该服务器现在认为 Foo 项目已同步到 clientFoo
中的最新版本。如果构建服务器 A 再次同步 Foo,它将获得增量同步。还好。然而,如果客户端 B 接下来同步 Foo,它也将获得增量同步,即它只会同步几个文件,甚至什么也不同步(如果自 A 同步 Foo 以来没有文件被修改)。这是错误的,因为 B 还没有任何 Foo 信息!增量同步是没有意义的。
解决方案是构建服务器 B 调用 p4sync -f
:即忽略“have”表(即忽略 Perforce 服务器认为 clientFoo
已经有)并强制完全同步。这当然是可行的:所有 10 个构建框都可以调用 p4sync -f
来解决不需要的增量同步问题。但是每个p4sync -f
仍然会更新Perforce服务器的“have”表,这是浪费的,因为我们从不使用它(我们总是通过使用-f
来忽略它)。因此,为了避免徒劳地维护“have”表,我们可以从所有构建服务器调用 p4sync -p
并且永远不更新“have”表。
关于synchronization - 使用 perforcesync -p 选项有什么优点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35691204/
在 java 中不使用“同步”关键字的情况下,是否有其他方法可以同步类或方法? 谢谢, 马利卡琼·科卡塔努尔 最佳答案 您可能想查看并发包中引入的对 JDK 5 的更改。 http://java.su
第 1 部分: 假设下面这段代码 void method1(){ synchronized (lockObject){ method2(); System.ou
我有一个 REST 服务器和一个在移动设备上运行的客户端应用程序。客户端有一些数据并希望从服务器获取数据更新。如何以 RESTful 方式在单个事务中执行此操作? 假设客户有以下元素: widge
我有一个多线程 Java 应用程序。在一种方法中,需要同步一个 ArrayList。由于 arrayList 不是线程安全的,所以我必须使用同步。问题是 ArrayList 类型的对象不是对象的成员变
我正在阅读 Android 示例中的 BluetoothChatService.java 文件,有一件事特别让我感到困惑。 方法在多个位置访问静态成员,并且定义为同步。 在另一部分中,正在访问同一个静
我知道为了实现线程安全和同步,我们使用同步块(synchronized block)或方法。 但我无法理解声明- “Java 中的同步块(synchronized block)在某些对象上同步 ” 任
在 Scala 中使用 JDBC 的示例中,有以下代码: this.synchronized { if (!driverLoaded) loadDriver() } 为什么this.synchro
abstract class A { protected abstract int isRunning(); public void concreteMethod() { synchr
有谁可以分享一下他们的经验吗?“我们什么时候在同步方法和同步块(synchronized block)之间进行调用”有任何性能问题吗? 最佳答案 When do we make a call to u
这是我之前问题的后续问题,Is this variable being safely accessed by using synchronization? 对于下面的程序, Class SubClas
我目前正在为 N 体问题实现多线程版本的 Barnes-Hut 算法。虽然该算法有效,但它不是很优化,我正在尝试减少我的程序的运行时间。 我已经确保有多个线程可以准确地找到我正在使用的空间的边界,并意
我有这门课: public class MyClass { public MyClass(){} public void actionA(){ synchronized
又是一个关于ArrayList和synchronize的问题。 我只想知道这段代码到底做了什么: ArrayList list = ....; synchronized (list) { if
我可以在另一个同步块(synchronized block)中包含同步块(synchronized block)以同步另一个对象吗? 例子: synchronized(myObjetc1){
public class ObjectCounter { private static long numOfInstances = 0; public ObjectCounter(){
我在某处读到,对于 various reasons 应该避免 synchronized(this) .然而,我遇到的一些值得尊敬的代码在构造函数中使用了以下内容: public SomeClass(C
Java 为同步代码的关键部分提供了一种非常方便的习惯用法: synchronized(someObject) { // do something really important all b
我有一个 WeakReference 的 Collections.synchronizedList,_components; 我写了类似下面的内容,希望编译者会提示: public boolean a
使用下面两个版本的Singleton Classes有什么区别 首先我使用的是synchronized(Singleton.class) 在第二个我使用同步(Obj)//第一种类型 公共(public
我正在查看 DatagramSocket 的源代码,我发现了这个: public void disconnect() { synchronized (this) { if (i
我是一名优秀的程序员,十分优秀!