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