<?xml version="1.0"?>
<!--
  Copyright 2002-2004 The Apache Software Foundation

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<!--
This test shows coordinating between 2 threads using
mutexes with wait/notify. Numbers between threads
should increment together.
-->

<jelly xmlns="jelly:core" xmlns:threads="jelly:threads">

    <!-- get the mutex -->
    <threads:mutex var="mutex"/>

    <threads:thread var="thread1">
        <set var="counter1" value="0"/>

        <!-- get the mutex -->
        <threads:synchronize mutex="${mutex}">
            <!-- loop -->
            <while test="${counter1 != 20}">

<whitespace>
counter1: ${counter1}
</whitespace>

                <set var="counter1" value="${counter1+1}"/>

                <!-- let the other thread proceed -->
                <threads:notify mutex="${mutex}"/>

                <!-- wait for 1 iteration of the other thread -->
                <threads:wait mutex="${mutex}"/>
            </while>

            <!-- let the other thread proceed -->
            <threads:notify mutex="${mutex}"/>

        </threads:synchronize>
    </threads:thread>

    <threads:thread var="thread2">
        <set var="counter2" value="0"/>
        <threads:sleep for="100"/>
        <!-- get the mutex -->
        <threads:synchronize mutex="${mutex}">
            <!-- loop -->
            <while test="${counter2 != 20}">

<whitespace>
counter2: ${counter2}
</whitespace>

                <set var="counter2" value="${counter2+1}"/>

                <!-- let the other thread proceed -->
                <threads:notify mutex="${mutex}"/>

                <!-- wait for 1 iteration of the other thread -->
                <threads:wait mutex="${mutex}"/>
            </while>

            <!-- let the other thread proceed -->
            <threads:notify mutex="${mutex}"/>

        </threads:synchronize>
    </threads:thread>

<whitespace>
[main]: waiting for threads to finish
</whitespace>

    <threads:join thread="${thread1}"/>
    <threads:join thread="${thread2}"/>

<whitespace>
[main]: threads are now done
</whitespace>

</jelly>