diff options
author | Thomas Grill <xovo@users.sourceforge.net> | 2009-04-01 21:13:09 +0000 |
---|---|---|
committer | Thomas Grill <xovo@users.sourceforge.net> | 2009-04-01 21:13:09 +0000 |
commit | 0ed7a8b68dd73e2b0473b8127aeca99f3bac9061 (patch) | |
tree | 5c67818b38a5cc2f9caa5ca7f8640ca356adf02b /externals/grill/flext/tutorial/thread1/main.cpp | |
parent | bb4c7f6a245394d09dac9adfb2efb093d3d98452 (diff) |
cleaned up grill externals - replaced with svn:externals to svn.grrrr.org/ext/trunk/
svn path=/trunk/; revision=10951
Diffstat (limited to 'externals/grill/flext/tutorial/thread1/main.cpp')
-rw-r--r-- | externals/grill/flext/tutorial/thread1/main.cpp | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/externals/grill/flext/tutorial/thread1/main.cpp b/externals/grill/flext/tutorial/thread1/main.cpp deleted file mode 100644 index e5e0c0e3..00000000 --- a/externals/grill/flext/tutorial/thread1/main.cpp +++ /dev/null @@ -1,83 +0,0 @@ -/* -flext tutorial - threads 1 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This shows an example of a method running as a thread -*/ - -/* define FLEXT_THREADS for thread usage. Flext must also have been compiled with that defined! - it's even better to define that as a compiler flag (-D FLEXT_THREADS) for all files of the - flext external -*/ -#ifndef FLEXT_THREADS -#define FLEXT_THREADS -#endif - -#include <flext.h> - -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif - - -class thread1: - public flext_base -{ - FLEXT_HEADER(thread1,flext_base) - -public: - thread1(); - -protected: - void m_start(); // method function - -private: - // define threaded callback for method m_start - // the same syntax as with FLEXT_CALLBACK is used here - FLEXT_THREAD(m_start) -}; - -FLEXT_NEW("thread1",thread1) - - - -thread1::thread1() -{ - AddInAnything(); - AddOutInt(); - - FLEXT_ADDBANG(0,m_start); // register method -} - -void thread1::m_start() -{ - // Please note that this functions needs about 10 seconds to complete - // Without threads it would block the real-time system - - // Okay, that functionality would be far more elegant with timers - // ... but hey, it's a demo! - - for(int i = 0; i < 20 && !ShouldExit(); ++i) { - ToOutInt(0,i); // output loop count -// post("%i",i); - - // wait for half a second - for(int j = 0; j < 5 && !ShouldExit(); ++j) Sleep(0.1f); - // note: we shall not block a thread for a longer time. - // The system might want to destroy the object in the meantime and - // expects thread termination. In such a case flext waits - // for 1 second by default, then it aborts the thread brutally - } - - // output a final zero - ToOutInt(0,0); -// post("end"); -} - - - |