package main
import("fmt""runtime"_"strconv")funcCal(start int, end int, c chan[]int){
arr :=make([]int,0)for i:=start;i<=end;i++{
flag :=falsefor j:=2;j<i;j++{if i%j ==0{
flag =true}}if flag ==false{
arr =append(arr, i)}}
c <- arr
}funcGoruntine2(n int){//获取计算机内核数量 根据内核数量创建线程数量
cores := runtime.NumCPU()
num := n/cores
runtime.GOMAXPROCS(cores)
fmt.Println(cores)deferfunc(){if err :=recover();err !=nil{
fmt.Println(err)}}()
c :=make(chan[]int,16)for i:=0;i<cores;i++{if i != cores-1{goCal(num*i+1, num*(i+1), c)// fmt.Println(arr)}else{goCal(num*i+1, n, c)// fmt.Println(arr)}}
num2 :=1for i :=range c {
fmt.Println(i)if num2 == cores{close(c)#关闭通道
return}
num2++}}}