Files
eiffel-org/documentation/trunk/solutions/dotnet/samples/threads-samples/timers.wiki
eifops de6e7aad63 Updated trunk
git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@2484 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
2025-02-06 17:17:32 +00:00

52 lines
1.8 KiB
Plaintext

[[Property:title|Timers]]
[[Property:weight|1]]
[[Property:uuid|325ac6e6-9660-891c-2605-dbeb621649f0]]
This sample consist in a command line demonstrating the use of the <eiffel>TIMER</eiffel> (Timer) class to generate a periodic callback to a method. The sample creates a <eiffel>TIMER</eiffel> object and passes to it a delegate object. When the <eiffel>TIMER</eiffel> fires, the delegate is invoked, and a static method is called asynchronously by a worker thread in the thread pool.
==Compiling==
To compile the example:
# Launch EiffelStudio.
# Click '''Add project'''
# Browse to ''$ISE_EIFFEL\examplesdotnet\threading\timers\''
# Choose ''timers.ecf''
# Choose the location where the project will be compiled, by default the same directory containing the configuration file.
# Click '''Open'''.
==Running==
After you launch the sample, the following output appears:
<code>
Checking for status updates every two seconds
<Hit Enter to terminate the sample>
Checking Status.
Checking Status.
Checking Status.
Checking Status.
Checking Status.
...
</code>
When the display is finished, the application wait for you to pressed the return key to finished the application.
==Under the Hood==
This application shows how to use the thread <eiffel>TIMER</eiffel>. The timer is launched:
<code>
create my_timer.make_with_callback (create {TIMER_CALLBACK}.make (Current, $check_status), Void, 0, 2000)
</code>
and calls the feature <eiffel>check_status</eiffel> that displays the message <code>"Checking Status."</code> every two seconds.
This sample uses the following .NET types:
* <eiffel>TIMER</eiffel>
* <eiffel>TIMER_CALLBACK</eiffel>
==Notes==
This sample is translated from the example located in the Samples\Technologies\Threading\Timers subdirectory of the .NET Framework SDK samples directory of Microsoft Visual Studio .NET.