mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-06 06:42:03 +01:00
git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@2484 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
52 lines
1.8 KiB
Plaintext
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.
|
|
|
|
|
|
|
|
|