TEST7.C
上传用户:sunrenlu
上传日期:2022-06-13
资源大小:1419k
文件大小:1k
源码类别:

操作系统开发

开发平台:

DOS

  1. /**************************************************************************/
  2. /* test7 - critical sections                                              */
  3. /*       - preemtive is turned on, so critical sections are what prevents */
  4. /*         cprintfs from being interrupted in the middle of their output  */
  5. /**************************************************************************/
  6. #include "rtos.h"
  7. #include <stdio.h>
  8. #include <stdlib.h>
  9. #include <time.h>
  10. void *peer = NULL;
  11. crit_x *cs = NULL;
  12. void switcher1(DWORD arg)
  13. {
  14.     int x;
  15.     do {
  16.         cs_enter( cs );
  17.         cprintf("in thread %lunr", arg );
  18.         cs_exit( cs );
  19.         rt_sleep(10);
  20.     } while( 1 );
  21. }
  22. main()
  23. {
  24.     kpreemptive = 1;
  25.     kdebug = 1;
  26.     rt_init(100);
  27.     cs = cs_alloc();
  28.     cputs("starting...rn");
  29.     rt_newthread( switcher1, 1,4096, 0, "worker 1" );
  30.     rt_newthread( switcher1, 2,4096, 0, "worker 2" );
  31.     rt_sleep( 10000 );
  32.     cprintf ("cs = %08lxrn", cs);
  33.     cs_free( cs );
  34. }