本文整理汇总了C#中Condition.value方法的典型用法代码示例。如果您正苦于以下问题:C# Condition.value方法的具体用法?C# Condition.value怎么用?C# Condition.value使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Condition
的用法示例。
在下文中一共展示了Condition.value方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: allTests
public static void allTests(Ice.Communicator communicator)
#endif
{
Write("testing stringToProxy... ");
Flush();
String @ref = "hold:default -p 12010";
Ice.ObjectPrx @base = communicator.stringToProxy(@ref);
test(@base != null);
String refSerialized = "hold:default -p 12011";
Ice.ObjectPrx baseSerialized = communicator.stringToProxy(refSerialized);
test(baseSerialized != null);
WriteLine("ok");
Write("testing checked cast... ");
Flush();
HoldPrx hold = HoldPrxHelper.checkedCast(@base);
HoldPrx holdOneway = HoldPrxHelper.uncheckedCast(@base.ice_oneway());
test(hold != null);
test(hold.Equals(@base));
HoldPrx holdSerialized = HoldPrxHelper.checkedCast(baseSerialized);
HoldPrx holdSerializedOneway = HoldPrxHelper.uncheckedCast(baseSerialized.ice_oneway());
test(holdSerialized != null);
test(holdSerialized.Equals(baseSerialized));
WriteLine("ok");
Write("changing state between active and hold rapidly... ");
Flush();
for(int i = 0; i < 100; ++i)
{
hold.putOnHold(0);
}
for(int i = 0; i < 100; ++i)
{
holdOneway.putOnHold(0);
}
for(int i = 0; i < 100; ++i)
{
holdSerialized.putOnHold(0);
}
for(int i = 0; i < 100; ++i)
{
holdSerializedOneway.putOnHold(0);
}
WriteLine("ok");
Write("testing without serialize mode... ");
Flush();
System.Random rand = new System.Random();
{
Condition cond = new Condition(true);
int value = 0;
Ice.AsyncResult result = null;
while(cond.value())
{
SetCB cb = new SetCB(cond, value);
result = hold.begin_set(++value, value < 500 ? rand.Next(5) : 0).whenCompleted(cb.response,
cb.exception);
if(value % 100 == 0)
{
result.waitForSent();
}
if(value > 100000)
{
// Don't continue, it's possible that out-of-order dispatch doesn't occur
// after 100000 iterations and we don't want the test to last for too long
// when this occurs.
break;
}
}
test(value > 100000 || !cond.value());
result.waitForSent();
}
WriteLine("ok");
Write("testing with serialize mode... ");
Flush();
{
Condition cond = new Condition(true);
int value = 0;
Ice.AsyncResult result = null;
while(value < 3000 && cond.value())
{
SetCB cb = new SetCB(cond, value);
result = holdSerialized.begin_set(++value, 0).whenCompleted(cb.response, cb.exception);
if(value % 100 == 0)
{
result.waitForSent();
}
}
result.waitForCompleted();
test(cond.value());
for(int i = 0; i < 10000; ++i)
{
holdSerializedOneway.setOneway(value + 1, value);
++value;
if((i % 100) == 0)
{
holdSerializedOneway.putOnHold(1);
//.........这里部分代码省略.........