| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | 
							- /* This Hello World demostrate a simple multithread program */
 
- #define DO_BENCH 0
 
- #include "api.h"
 
- #include "pal.h"
 
- #include "pal_debug.h"
 
- int main(int argc, char** argv) {
 
-     int count = 0;
 
- #if DO_BENCH != 1
 
-     pal_printf("In process: %s", argv[0]);
 
-     for (int i = 1; i < argc; i++) {
 
-         pal_printf(" %s", argv[i]);
 
-     }
 
-     pal_printf("\n");
 
- #endif
 
-     if (argc == 1) {
 
-         unsigned long time = DkSystemTimeQuery();
 
-         char time_arg[24];
 
-         snprintf(time_arg, 24, "%ld", time);
 
-         const char* newargs[4] = {"Process", "0", time_arg, NULL};
 
-         PAL_HANDLE proc = DkProcessCreate("file:Process", newargs);
 
-         if (!proc)
 
-             pal_printf("Can't create process\n");
 
-         DkObjectClose(proc);
 
-         DkThreadDelayExecution(30000000);
 
-     } else {
 
-         count = atoi(argv[1]);
 
-         if (count < 100) {
 
-             count++;
 
-             char count_arg[8];
 
-             snprintf(count_arg, 8, "%d", count);
 
-             const char* newargs[4] = {"Process", count_arg, argv[2], NULL};
 
-             PAL_HANDLE proc = DkProcessCreate("file:Process", newargs);
 
-             if (!proc)
 
-                 pal_printf("Can't creste process\n");
 
-             DkObjectClose(proc);
 
-         } else {
 
-             unsigned long end   = DkSystemTimeQuery();
 
-             unsigned long start = atol(argv[2]);
 
-             pal_printf("wall time = %ld\n", end - start);
 
-         }
 
-     }
 
-     DkProcessExit(0);
 
-     return 0;
 
- }
 
 
  |