同样的程序,在linux上面的结果符合消费端结论,但windows好像不符合?
来源:1-4 Go 程序是怎么跑起来的
tan_beta
2021-05-17 14:26:43
同样的程序,在linux上面和windows上面表现不一致?linux结果符合消费端得结论,windows好像不符合。
代码如下:
func main() {
runtime.GOMAXPROCS(1)
for i := 1; i < 259; i++ {
i := i
go func() {
fmt.Printf("%v;", i)
}()
}
//time.Sleep(time.Hour)
var ch = make(chan int)
<-ch
}
linux输出结果:
258;129;130;131;132;133;134;135;136;137;138;139;140;141;142;143;144;145;146;147;148;149;150;151;152;153;154;155;156;157;158;159;160;161;162;163;164;165;166;167;168;169;170;171;172;173;174;175;176;177;178;179;180;181;182;183;184;185;186;187;188;1;189;190;191;192;193;194;195;196;197;198;199;200;201;202;203;204;205;206;207;208;209;210;211;212;213;214;215;216;217;218;219;220;221;222;223;224;225;226;227;228;229;230;231;232;233;234;235;236;237;238;239;240;241;242;243;244;245;246;247;248;2;249;250;251;252;253;254;255;256;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;64;65;66;67;68;69;70;71;72;73;74;75;76;77;78;79;80;81;82;83;84;85;86;87;88;89;90;91;92;93;94;95;96;97;98;99;100;101;102;103;104;105;106;107;108;109;110;111;112;113;114;115;116;117;118;119;120;121;122;123;124;125;126;127;128;257;
windows输出结果:
258;129;130;131;132;133;134;135;136;137;138;139;140;141;142;143;144;145;146;147;148;149;150;151;152;153;154;155;156;157;158;159;160;161;162;163;164;165;166;167;168;169;170;171;172;173;174;175;176;177;178;179;180;181;182;183;184;185;186;187;188;189;190;191;192;193;194;195;196;197;198;199;200;201;202;203;204;205;206;207;208;209;210;211;212;213;214;215;216;217;218;219;220;221;222;223;224;225;226;227;228;229;230;231;232;233;234;235;236;237;238;239;240;241;242;243;244;245;246;247;248;249;250;251;252;253;254;255;256;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;116;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;64;65;66;67;68;69;70;71;72;73;74;75;76;117;77;78;79;80;81;82;83;84;85;86;87;88;89;90;91;92;93;94;95;96;97;98;99;100;101;102;103;104;105;106;107;108;109;110;111;112;113;114;115;118;119;120;121;122;123;124;125;126;127;128;257;
1回答
Xargin
2021-05-17
那个问题主要是为了说明 runnext 和 time.Sleep 的特征,知道这里有这个优先级的概念就可以了~
你这里创建的 g 已经超过本地队列的长度了,课上我们看到 生产和消费流程都会有调整队列的情况,而且这 200 多个有点考眼神儿。。。
平常我们线上也不太可能只跑一个 P,要想靠逻辑推断出顺序意义不是很大的。。。
相似问题