Main Page   Packages   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

C:/temp/src/j2k/nto/bak2/MsgThreadTest.cpp

Go to the documentation of this file.
00001 #include <j2k/Fred/Standard.hpp>
00002 #include <j2k/nto/MsgThread.hpp>
00003 #include <j2k/nto/TimerPulse.hpp>
00004 #include <j2k/nto/Message.hpp>
00005 
00006 class T1 : public MsgThread
00007 {
00008 public:
00009 
00010   int id;
00011   pid_t p;
00012 
00013   T1() : MsgThread( "T1" ) 
00014   { 
00015     p = pid;
00016   }
00017 
00018   void run()
00019   {
00020     int i = 100;
00021     while( 1 )
00022     {
00023       printf( "1" );
00024       Message m( i++ );
00025       send( "T2", m );
00026       Message m2 = receive( id );
00027 
00028       printf( "[%d|%d]", m.getNumber(), m2.getNumber() );
00029     }
00030   }
00031 };
00032 
00033 class T2 : public MsgThread
00034 {
00035 public:
00036 
00037   pid_t p;
00038 
00039   T2() : MsgThread( "T2" ) 
00040   { 
00041     p = pid;    
00042   }
00043 
00044   int id;
00045 
00046   
00047   void run()
00048   {
00049     int i = 1000;
00050     while( 1 )
00051     {
00052       printf( "2" );
00053       Message m( i++ );
00054       send( "T1", m );
00055       Message m2 = receive( id );
00056 
00057       printf( "[%d|%d]", m.getNumber(), m2.getNumber() );
00058     }
00059   }
00060 };
00061 
00062 int main()
00063 {
00064   T1 a;
00065   T2 b;
00066 
00067   a.start();
00068   b.start();
00069 
00070   a.id = (int)b.p;
00071   b.id = (int)a.p;
00072 
00073   a.join();
00074   b.join();
00075 
00076   for(;;) { 
00077    printf( "M" );
00078    sched_yield();
00079   } 
00080 
00081 return 0;
00082 }

Generated on Sun Oct 14 18:46:37 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001