⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tprimes.c

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 C
字号:
#include <u.h>#include <libc.h>#include <thread.h>int quiet;int goal;int buffer;int (*fn)(void(*)(void*), void*, uint) = threadcreate;voidprimethread(void *arg){	Channel *c, *nc;	int p, i;	c = arg;	p = recvul(c);	if(p > goal)		threadexitsall(nil);	if(!quiet)		print("%d\n", p);	nc = chancreate(sizeof(ulong), buffer);	(*fn)(primethread, nc, 1024);	for(;;){		i = recvul(c);		if(i%p)			sendul(nc, i);	}}voidthreadmain(int argc, char **argv){	int i;	Channel *c;	ARGBEGIN{	case 'q':		quiet = 1;		break;	case 'b':		buffer = atoi(ARGF());		break;	case 'p':		fn=proccreate;		break;	}ARGEND	if(argc>0)		goal = atoi(argv[0]);	else		goal = 100;	c = chancreate(sizeof(ulong), buffer);	threadcreate(primethread, c, 1024);	for(i=2;; i++)		sendul(c, i);}

⌨️ 快捷键说明

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