潘鹏在CSDN上原创。如其它站点转载请注意排版和写明出处:
今天仍旧是最后一个离开,本来是封装的线程扩展功能来卖票的。但我想将统计是否有漏票的程序封装进去,可是一直纠结的我多个线程就有多个对象,我必需要等全部的线程执行结束才干来统计,可是我不能在接口类和线程类里来写,那我仅仅能写在对用户开放的类里,那这种话,我多个类对象谁去调???调之前我多个对象难道在main里写多次等待线程执行结束???
由于想要解决第一个问题,我想法去封装线程的类里去接受线程回调函数里面调用的虚函数的返回值,仅仅要有返回值。我无论现场是否执行结束就去调统计漏票,这里我脑子又去纠结了,那这样我有10个线程我还是要new10个封装线程的对象,那这样这又多10个对象,谁去调统计,谁也不能去呀,都得等其它线程执行结束啊
他人告诉我解决第二个问题用二级指针啊。二级指针。那但是之前我一直觉的非常神奇的东西,他说了我就想以我如今的代码能力,我去试试,没想到非常非常easy,就是把当中的一个*用[]来取代。这不是和指针数组一样吗。尽管指针数组我也没怎么用过。意外收获。非常大的收获,旁边的人少有人会你会就值得骄傲了,尽管不难,但我预计他们和一个小时前的我惧怕“二级指针”的那份恐惧和敬畏是一样的
收获二是解决第一个问题,我那么纠结干嘛。无论谁去调统计漏票。前提是全部线程执行完,这个简单。那我等全部线程执行完随便指派一个对象去调不就攻克了,我发现自己脑里这个逻辑的禁锢。就像上帝有两个苹果一样。我要他左手的觉的他右手的苹果好一点一样,就像上个月我总结的那篇关于检測质量不同的球的文章一样,自从从那个问题里发现自己脑袋里对自己的思想禁锢后,后来对我起了非常大的帮助。就像有一次全部人都在局限的想多线程里为什么会出现回退票的原因在分析几个线程绕来绕去的时候我大喊一声。我有新的想法。我说我没管几个线程执行之间切换。我第一个线程执行一次,我第二个线程拿到全局变量的值,我就一直在第一个线程执行。其它核执行电脑其它程序,玩游戏听音乐看电影的。反正就不让第二个线程执行。然后第一个线程即将卖全然部的票,我第二个线程又姗姗来迟一样,造成回退
我先吃饭,随后会给大家分享这个批着虎皮的……狐狸
PanPen120原创,假设建议。请留言