mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2026-08-10 17:01:13 +02:00
Updated trunk
git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@2484 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
[[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.
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user