dllist-driver.cc

来自「nachos下并发程序设计。编写双向链表并演示并发错误。包含文件Makefile」· CC 代码 · 共 47 行

CC
47
字号
#include<iostream>
#include "dllist.h"
#include "system.h"
#include <cstdio>
#include <cstdlib>
#include <ctime>

void ListInsert(int n,DLList *list,int t_num)
{
	void* item;
	int key;
	for(int i=0;i!=n;i++)
	{
		item=new int(rand());
		key=(int) item%100;
		printf("Thread %d:\tInsert:%d\tItem:%d\n",t_num,key,(int)item);
		list->SortedInsert(item,key);
                if(Flag==2)
                {
                   printf("\tInsert Interrupt\n");
                   currentThread->Yield();
                }
	}
}

void ListRemove(int n,DLList *list,int t_num)
{
	void *item;
	int key;
	int i=0;
	while(!(list->IsEmpty())&&i!=n)
	{
		if((item=list->Remove(&key)))
			printf("Thread %d:\tRemove:%d\tItem:%d\n",t_num,key,(int)item);
		i++;

                 if(Flag==3)
                {
                   printf("\tRemove Interrupt\n");
                   currentThread->Yield();
                }

        }
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?