tprimes.c
来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 59 行
C
59 行
#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 + =
减小字号Ctrl + -
显示快捷键?