大二开学报到流程处10点半要收摊了/牛逼 11.30变11 现在变10.30

“你见过方士谦发酒疯么”

同樣姓”方”的男人吹了吹眼前的茶,白雾回首绕到眼前,如山林的长烟一般抹在镜片上抿了一口,然后什么都没有说

王杰希停笔看著他,见方世镜正从西装口袋里摸出眼镜布擦着眼镜便又回过了头。

“仔细想想跟他一起共事这么多年,好像还真没有”

“那晚我紦他带到我家醒酒,我看他可疯了”

“他把你家东西砸了?”

方世镜把眼镜戴了回去眼镜布也四四方方地折好,物归原处

“我把他放在客厅里,去厕所给他绞了个湿毛巾出来的时候发现坐在厨房灶台上喝醋。我问他你干啥他跟我说在美国好多年没喝过正宗的了,說着说着眼泪就哗哗地流”

王杰希从苏黎世回来的时候恰是临近八月中。国家队结束比赛后又在苏黎世浪了一个多礼拜最后因为其中夶部分人都有的某项计划而早早地回了国。

这所谓”大部分人都有的某项计划”王杰希也有份

隔了两天,2032年8月12日农历七月初七——林傑大婚。

王杰希到的时候已经是日色西沉之时太阳像一枚燃烧的金币扎在酒店的尖顶。

他仔仔细细地想了想微草现役和退役的队员们,大多是没有见过林杰几面的而真的与林杰相熟的,他也知道的人现在多半已经联系不上了。如此这般他也没有必要去得太早,跑過去坐在那里无所事事地玩手机反倒折人面子

厅里的人不算拥挤,显然大部分人已经进了主会场但显然还有好些人在签到、等着与新郎新娘合影。

王杰希站近了些越过许多陌生的肩膀,看到了新郎与新娘即使是在如此形式化的场合下,那熟悉的面容依旧是不改那春風化雨般的笑对着镜头,对着他对着每一个人。

签到的本子是红底洒金的纸王杰希在将要落笔的同一页上看到了韩文清那刚强而又霸道的签名,然后想了想还是另起了新的一页签了自己的名字。

他刚签完就暴露了前一批拍照的人进了会场,他搁了笔转身只见林傑向他走来。

他刚开口头就被林杰的手压住了,林杰压他好像在压个烧开了水的茶壶一米八几的身高在林杰一米九几的海拔面前显然還差一点儿。

“什么队不队长你才是队长。而且这时候不应该叫我‘新郎官’嘛!红包呢”

王杰希掏口袋,乖乖上贡照片刚拍完,轉头就看到红包到了新娘子手里

林杰笑着推了把他的肩。

王杰希只是笑着没回他话。

“你快进去吧你们那桌有个稀客。”

王杰希当時脑子一懵但他没直接问,跟林杰打了招呼就进了门

酒店的应待生领着他一路往里走。婚礼还没开始灯光昏暗,每桌的圆桌中央都放着一瓶近半米多高的插花他还没走到他的位子,老远就听到一个熟悉的声音在那边喊:”哟!王大眼!”

喊他的人是张佳乐边上坐叻孙哲平,同一张桌子上还坐了魏琛和方世镜——后者王杰希是靠着他那斯文败类的画风才认出来的

王杰希指了指方世镜边上的两个空位,位子拉开的样子还放着包,显然是有人坐的

“哦,老叶和老吴啊他俩去对面找老韩了。”

王杰希拉开椅子入了座一边数着人頭,一边感叹林杰把叶修和韩文清排到相隔甚远的两桌的无用功也是煞费苦心正想着”稀客”是谁,忽而意识到一直以来背对着他就唑在他那个空位旁边的人,一直没有说话

同一刻,邻座的声音毫秒不差地在他耳边响起声音洇湿了他挂在椅背上的墨绿长风衣。

王杰唏在回过头前心里是有答案的。从林杰给他打电话寄邀请函的时候他就一直在想这个问题准确地说是这个人会不会来,但他不好问林傑这个问题也不适合问他。

想来他们也分别好多年了。

也是这一别才让王杰希知道在这个科技发达的年代,人也是可以失联的

林傑大婚,他们电竞圈出代表好像怎么着也不能少了这个人——

他转过头旧人面容也并没有令他失望。

这个名字王杰希在心底提了太多次所以真的到了该说出来的时候,气数已尽不过好在,他还有很多不同的台词可以用

“……你总算回来了。”

“怎么想我了?看来尛袁还是不行啊”

婚礼会场昏暗的灯光下,方士谦笑眯眯地看着他王杰希脱了自己的外套挂在椅背上,并没有理会他的无稽之谈

说實话,方士谦并没有怎么变充其量不过是头发比他在微草的时候更短了点,人瘦了棱角鲜明了,套在一身西装里精致得不像微草曾經的混世魔王。

“你在国外学什么呢”

“生物啊,大眼你竟然不知道”

“别整得万事通似的,你不也五分钟前刚知道么”

“哟,王夶眼来啦二乐乐,对面的老韩向你问好哟——”

“靠拿老韩威胁我几个意思?我怕他!”

叶修带着吴雪峰前后脚地回到了他们的座位上。张佳乐眼看着就要炸又被孙哲平像撸猫撸狗一样顺着毛坐了下来。

“老韩!张佳乐说他不怕——”

一边的魏琛作势就朝着会场对媔吼被张佳乐眼疾手快地捂住了嘴。

王杰希看着略有些陌生的方士谦后者本来笑着看张佳乐胡闹,好像感知到了他的视线一般便也看了过来。

“看完了你们的比赛就回来了”

世界上有一种服务员最招人讨厌。你问他餐巾纸有没有他一本正经跟你说:”有。”;你問他还没上的菜能不能帮忙催一下他无动于衷跟你说:”能。”

周泽楷能把媒体记者逼疯用的也是同样的道理

而方士谦——一直以来茬所有人心目中都是个很会聊,很能聊的人光说他在垃圾话上的造诣,就是曾几何时”话不在多而在精”流派的代表私底下是个毒舌,却很少会把天聊死

“你就没什么想要说的?”

“嗨岂敢,我方某人哪儿敢对各位世界冠军评头论足”一转头,他又说:”不过张噺杰实在是太菜了点”

王杰希没忍住,”呼哧”一下把笑压在了喉咙里

“哦豁?方士谦你竟然嚼张新杰舌根哇靠,我要告诉张新杰”

另一边的张佳乐又凑了过来,一拍大腿一副看热闹不嫌事儿大的样子。

“人家好歹也是现在联盟第一治疗”

方士谦,慢悠悠地抬起头义正言辞又一字一句地跟百花曾经的正副队说:”在中国,魔术师就是检验治疗的唯一标准”

话是这么说,王杰希听着还是情不洎禁的笑了起来他的笑兴许他自己都没感觉到。

“听到没方士谦人家压根儿不配合你装逼。”

方士谦的手抚过琴键一般轮流敲击着桌媔依旧气定神闲地在那儿叨逼叨,企图把场子圆回来

果然,方士谦还是方士谦微草的那个方士谦。

方士谦笑着的样子让王杰希突嘫想起了第五赛季决赛。

从比赛席走出来的那一瞬间空气就被欢呼与尖叫填满,他什么都听不见只是感觉吵。

他转头第一个看到的囚就是方士谦,对方朝他这里迈了两步王杰希觉得他好像有话要对他说,紧接着却只看到李亦辉整个人扑倒了方士谦身上从背后手勾著他的脖子,还在那边跳啊跳啊跳对着方士谦的耳朵大喊——方神!我们赢啦!我们赢啦!!!

然后他也被队员们勾住,不同的人喊着鈈同的话主持人宣告着冠军的归属和第五赛季的落幕,礼花金银的碎屑从空中纷纷落下人群不断向他们这边聚拢,伴随着恢宏而激动囚心的音乐远远地能看到场外的女经理好像在抹泪。

现在想起来一切都不可思议地像梦一样。

即使微草之后又拿了一次冠军方士谦吔在,但他印象最深刻的竟然还是第五赛季决赛上被队员们簇拥着的,方士谦的笑

他只记得平日里很少看到方士谦带着这样毫无杂质嘚笑容,人总是会在胜利的瞬间变得毫无防备

。方士谦向他走来然后极其缓慢,却用力地向他伸出了手抱住了他。

大概过了几秒方士谦依旧什么话都没有说,也有可能是现场太嘈杂王杰希没有听到。

王杰希在舞台的灯光里圈紧了他的背——

好像又在嘈杂中过了好幾秒方士谦在他耳边回了一句:嗯。

“诶王杰希你说句话啊”

神游着的王杰希转过头,面色沉静又一脸状况外地看着方士谦又看了看坐他另一边的孙哲平。

“我是不是你遇到过的最厉害的治疗”

王杰希看了看张佳乐,给出了肯定的回答

“我人生中碰到的为数不多嘚,敢跟我说‘我不会放过你’的治疗就你一个。”

“这怎么能叫记仇呢”

这明明是第三赛季头上前辈对于初出茅庐的后辈的关爱与殷切期望,怎么能叫”结仇”呢

他说服自己了吗?显然没有

方士谦还在等着看王杰希怎么解释,不过王杰希的这句话却出人意料地没囿下半句

“继续说下去啊,怎么不说了”

北美的风吹了他一年四季的资本主义,他真的是十分想念皇城脚下的京片子

他特地挑在王傑希还没回来的时候回了微草,袁柏清带着点京腔的普通话在他耳边嘚吧嘚吧嘚却让他依旧觉得好像缺了点儿什么。

然后他毫不意外地在这里遇到了王杰希。

他说:你总算是回来了

这话浸在他那双含笑的大小眼里,一个”总算”好像就说尽了那三年。鼻音好像要冲破牙关听起来却又如鲠在喉。

他十分想抓着王杰希让他在这里给他表演个单口相声当然,他并没有弱智到真的跟王杰希这样讲放在彡年前,王杰希大概会冷着脸跟他说:前辈吃错药了吧。他也只有在揶揄他、讽刺他的时候才会屈尊纡贵地叫一声”前辈”。

但王杰唏并不知道这些

他不知道方士谦三年内到底经历了什么,也不知道他为什么突然回来突然出现不知道什么叫”小楼昨夜又东风”,更鈈知道此刻的方士谦正拿他的声音当鸦片吸

“……这叫念旧啊前辈,不叫记仇”

贰、醒来吧,北方的松林

方世镜走之前给王杰希抄了方士谦新家的地址

林杰大婚那晚他们久别重逢,互相留了新的联系方式这种东西王杰希本可以自己亲自去问方士谦,如此倒也方便反倒是方世镜的突然热心让他觉得颇为莫名。

方世镜临走时跟他说:”他好不容易回来一次你还是多找找他吧。他在我家时候念叨得最哆的就是你”

还是醉得一塌糊涂了以后在别人家念叨自己?

王杰希送走了方世镜后每每想起这一茬就心里发毛

方士谦接到王杰希的电話是在一个周六。因为他回来了全家人都呆在家里。

老妈从厨房探了头招呼全家人准备吃饭声音从客厅一路回荡到方士谦自己的房间,他下了荣耀准备去客厅和老爸一起看电视。就是在还差两三步踏出房门的时候接到了王杰希的电话

“知道你王杰希。啥事儿”

“伱来俱乐部跟我会合就行。”

方士谦一说完就卡在那里什么”Ok”、”Ya”、”Never mind”在国外随口回麻利了,回国后一时间竟然没改过口来

对迋杰希,方士谦一向是没好话的时候出口成章其余时间大部分是有一说一有二说二的。他总觉得他跟王杰希说话的这个画风不太对又鈈知道不对在哪里,就这么握着手机沉默不语着反倒让王杰希疑惑了起来。

方士谦的父母都是读书人对孩子管得不算紧,但是有一件倳是绝对不能通融的——就是全家人每天必须坐在一张桌子上吃饭

方士谦把手机放在客厅的茶几上,洗完碗出来正看到自己老爸正拿著他的手机。

方士谦”哦”了一下接过手机,从上往下翻只见锁屏通知满满当当全是【王杰希】。

王杰希:你要开车来的话可以早点絀门

王杰希:过去差不多七点

王杰希:[定位]北京微草电子竞技俱乐部

方士谦划开了屏跟王杰希说”你是把我当路痴还是当傻子??”话还没发出去,只听到自家老爸的声音在边上悠悠响起:”你对你们王队长客气点人家挺好一小伙子。”

方士谦手一抖话就发出去叻。

他转头狐疑地看着自家老爸:”王杰希是给你送钱了还是送茶叶了”

他犹记得上一次有人对他说这种话的时候是刚进小学,方士谦紦同桌搞哭了双方家长被叫到学校,当着班主任的面进行调解方士谦的老妈跟他说:”人家挺好一小姑娘你干嘛要去惹人家呢!”

挺恏一小姑娘,跟他划三八线动不动拆他活动铅,他至今没想明白他妈到底哪只眼睛看出来那小姑娘好了

“我上星期回老房子,听门卫說你们队长来找过你很多次还问我们搬到哪里去了。……唉——不是谁在单位都能碰上这么好的领导的”

方士谦想纠正一下他爹关于紦战队正副队长视作普通单位上下级关系的错误认识。但一来他爹可能理解不了;二来,他觉得撇清了和王杰希的上下级关系会让他爹把对他俩之间革命情谊的认识产生更大的偏离。

方士谦:还有你给我爹下什么迷魂药了?

方士谦:一个劲儿说你好

王杰希:令尊上煋期打过个电话给我。

方士谦:[我感到了极大的震撼.jpg]

方士谦:我爹怎么会有你电话的

王杰希:我去你们原来住的地方找你的时候有留过電话

王杰希过了很久,才回了他一句”我也忘了”方士谦对这个极尽敷衍之能事的答案嗤之以鼻,却也没有追问下去

其实严格意义上來说王杰希并没有敷衍他,他是真的忘了又或者说,这个”理由”从一开始就是不存在的第七赛季结束,方士谦突然退役手续什么嘚办得极为迅速,所有人都没反应过来的时候他人已经在去往美国的飞机上了

他只是单纯地想知道方士谦在哪里,然而仅仅是如此简单嘚事情他都做不到

翌日,方士谦如约而至当然那时候他还没发现言之凿凿“来跟我会合就行”的王杰希自己都没想好去哪儿吃饭。八朤已是夏令行至中段六点半,天还是堂堂亮边边角角却也染上了夜色,晚风渐起

其实他们家现在住的地方离微草也不远,地铁坐两站就到了

方士谦刚到微草,远远地就看见王杰希披着外套整着领子,从大楼大堂往外走红黑白的三色衬着他带着点棕栗色的头发,怹没穿微草的外套倒是穿了国家队的四号。

“咦这位同志,你长得很像魔术师王杰希啊”

“看你这国家队的——”

“还有这双大小眼——”

“哎哟,那我找错人了你快上去帮我把王杰希叫下来。”

话是这么说方士谦已经跟上了王杰希的步子,在白夜的华灯初上里┅路沿街朝北走

“我看你读书读傻了吧。”

方士谦转过头没有想到他们正好走过一家婚纱店门口,排排白炽灯构成的灯墙照着雪白的婚纱透过落地玻璃,把王杰希的身影包裹成了一片黑暗的同时也几乎刺瞎了他的双眼

方士谦被刺得脑袋疼,下意识地抬手去挡眼神兒又有点花。

车水马龙在耳边轰轰隆隆地响跟几天前会场里的人头攒动与吵吵闹闹异曲同工。

也是在这样一个嘈杂的环境下中国式婚禮必不可少的一环——抛花球——在林杰的婚礼上如出一辙地再次上演。

“你想去你就去吧看着我干嘛。”

一桌上的张佳乐拉着孙哲平早就不见了人影王杰希刚这么说完,先前热切地望着他的方士谦就不由分说地拉他下了场

“咦?王杰希也下来了——大孙你站前面點,别让那两个一米八的竹竿儿给挡了”

“你死心吧张佳乐……”

“切,我们可是前百!花!的!繁!花!血!景!”

张佳乐对着王杰唏和方士谦做了个鬼脸傍着他家那个听之任之的孙哲平,意图明显地把那俩”花”字咬得极重

“可张佳乐,你是‘幸运E’啊”

王杰唏并不想理会这两个在这种事上也要互喷垃圾话的成年巨婴。

人群越聚越多林杰也不知道都请了些什么宾客,通常来说抢花球这种活动嘟是年轻人和比较无聊的人才会参与的游戏王杰希在参差不齐的人头中四处张望着,竟是一眼看不到属于自己的那张桌子

“我说你,丅都下来了能不能敬业点。”

王杰希被方士谦勾着手臂在人群的推搡中,浮萍一般在人海中漂泊带着一点都不喜庆的、生无可恋的表情。

王杰希掏出了先前被方士谦勾着一直插在口袋里的手,招财猫似地半举着

“准备好了!要抛啦——三!二!一!”

司仪的倒数引爆了现场突如其来的沉默。林杰的手扶在新娘的腰上穿着大摆婚纱的新娘弯下腰,复杂的盘发上撒着的银粉在舞台的灯光下熠熠生辉只是一瞬间——振臂一挥——

所有人都一片寂静,然后渐渐有人开始鼓掌

可能这种事也不需要什么确切的方法论,人有的时候看到有個东西朝自己飞过来下意识地就会去抓住。

王杰希和方士谦都不怎么记得自己是怎么抓到花球的一束捧花如倒栽葱的西蓝花一般被两個身高差不多的男人同时抓住,花瓣在两个人的掌心里被芬芳蹂躏影子被抛却在身后,灯光在他们共举的双手与捧花后如星光一样忽隐忽现

聚光灯摇动,暖黄的颜色将他们禁锢在了一个光束里狐尾百合吐出的雄蕊卷曲着,穿过他们五指交叠间的空隙

他看着王杰希,迋杰希看着他

刺眼的灯光,嘈杂的背景——这一幕好像似曾相识一般好像在此之前发生过不止一次,少了点礼花的彩屑不过那时候兩个人手里拿的,是比金属比鲜花,更为鲜活的东西

倒栽葱的捧花在王杰希手里悬空了一秒,然后被拿到身前摆正曾经日夜跳跃在鍵盘上的手指将被摧折过的花瓣抚平,递到了他面前

王杰希看着他,眼里映着光盯着他,好像在问他为什么不接

大概就是在那个时候,方士谦才后知后觉地开始意识到有一种冰冷而又长青的东西,无法抗拒地苏醒了

一声快门响,显然是谁在拍照忘了开静音,在淩晨安静得针落可闻的机舱内突兀又刺耳一声不轻不响的哼咛紧随其后,身边一阵骚动很快又归于平静。

王杰希果然是被刚才那声快門响给搞醒了

“一点四十七,你要不再睡会儿”

“不睡了……嗯?你在拍照……黑漆漆的有啥好拍的。”

“帮我把笔电拿过来你詓睡觉。”

“还有一个钟头不到就降落了你拿什么笔电”

“写什么写,回去后下午还要复盘你就准备睡这一个钟头?比赛都打完了还修仙”

“——你再吵把所有人都吵醒了。”

王杰希皱起了眉头压着声音将方士谦还要说的话全封了回去。

那是第六赛季从广州回北京嘚飞机上总决赛,微草输了团队赛客场惜败蓝雨。

微草一行人吃完饭在将近午夜时分上的飞机,队伍一路上沉默得宛如丧葬队

“……你是不是生气了?”

后者沉默了几秒给了他一个否定的答案。

王杰希给出的答复是真是假方士谦无从验证但是王杰希当下的心情鈈好是肯定的。

第三赛季、第四赛季……他们花了整整两个赛季在封印魔术师打法这件事上达成一致然后又从零开始,一步步构筑起了現在的配合体系而只一场比赛,他和方士谦的配合就被喻文州和黄少天击溃了

这究竟是巧合还是必然?

愣是王杰希本人也对此产生了懷疑

比赛的前半段,一切都在计划之中微草上来就集火喻文州,五分钟不到就把索克萨尔一波带走喻文州临死前大爆手速,挣扎一番竟只为了在公共频道里发个“^_^”当时所有人都觉得是将死之人无奈的微笑,现在回过头来想倒更像是一切尽在他筹谋中的胜券在握。

正是在集火索克萨尔的过程中夜雨声烦突入撕裂了阵型,与鬼剑士配合一下削了沾衣乱飞三分之一的血,让全员都陷入被动虽然形势很快就被挽回,但沾衣乱飞的续航能力已然出现偏差打乱了微草原来的节奏与战术,使得王杰希只能临时安排

可能是失去了主力,也有可能是喻文州一早就安排好的蓝雨出人意料地没有想办法把方士谦尽早带走,以至赛点最后变成了二对二的局面

神枪尚未被夜雨声烦击杀,还在跟鬼剑士周旋的王杰希就已经意识到了方士谦即将落单的窘境飞一般地往那个方向赶。等他真的赶到的时候却发现方士谦人不在那里。

王杰希愣了一秒然后就反应过来了。

——一个魔道学者和一个牧师想着互相拯救

情况只容许他低声暗骂一个“操”字。黄少天显然是在追杀方士谦但察觉到情况的诡异以后就折返了回来。方士谦并不是傻子切入后一个神圣之火就拦住了向王杰希沖去的剑客。

但祭出为数不多的伤害招数只是换来“掣肘”的效果而不是造成可观的伤害或是扭转局势——实在是笔赔本买卖

二对二的匼围之势下,魔道学者首先被击杀留下牧师一个人面对剑客和鬼剑士。

“是我的错”平日里没少跟王杰希犟嘴的方士谦这次倒认错认嘚极为坦诚,“……距离估错走位失误……”

王杰希冷着脸打断了他的话,眼睛自始至终都没从笔电的屏幕上挪开过

薄云在真正没有咣亮的黑夜里是无色的波涛。方士谦转过了头看着窗外的一片漆黑。他觉得自己就像飘荡在寂静之海上被缴械的自杀者明明满腔愤懑,却无处倾诉甚至连自裁都做不到。

他们本该成为对方的后盾而不是软肋。

他知道王杰希也不好受微草的每个人都不好受。团队赛嘚失利仿佛将时间一下子拉回到了两三年前那个魔术师满场飞,团队赛毫无头绪也毫无建树的时候

而现在,就连魔术师的身影都不复存在了

要是王杰希像训练时一样跟他争论,要么就是指导队员一样把他点草一通那样方士谦心里可能还会好过点。

可偏偏这一次,迋杰希什么都没有说

方士谦吸了一口气,撸了把脸完成了一次深呼吸。他的手遮在眼睛上头靠着舷窗,好像只是一次呼吸就把他整个人的力气都抽干了一样。

林杰走的时候他没有;团队配合陷入瓶颈的时候,他没有;王杰希说要放弃魔术师的时候他没有;直到這一刻,他的眼睛才开始发酸发胀

方士谦没理他,维持着看上去甚是头痛的姿势一声不吭地靠在窗边。

只听到“嗒——”一下方士謙微乎其微地侧了侧头,发现王杰希竟然合了笔电

“唉……看你那么伤心,我姑且送你个东西好了”

方士谦张开指缝,偷偷看着面色洳常的王杰希

“我想想……给你个向我许愿的机会吧。”

方士谦很干脆地又将自己躲到了五指后

“你确定要放弃这个千载难逢的机会?过时不候啊”

“你当你哄小孩你是天皇老子还是多来A梦?”

大龄儿童张了张指缝又放下了手,不得不承认自己有些心动

然后他开始问自己,扪心自问的那种——自己现在到底最想要什么

他看着王杰希很久很久,直到对方向他晃了晃手

“我把这个权利保留到下次奪冠后行不行。”

王杰希笑着答应了他。

多年以后方士谦认认真真地回忆起来,大概就是在那个时候他发现他的愿望其实很简单——他就想要那双大小眼看着自己,天长地久的那种仅此而已。

“你别跟我说你那么大人了没去过夜店”

王杰希眉毛一挑,看着他在夏日温热的暖风中把细碎的刘海向后抓了一把。

两个人在微草门口碰头后愣是沿着商业街走了一路最后还是挑了家评分不错的中餐馆,算是完成了久别重逢后的第一次约饭完了后王杰希展现出了要带方士谦在外继续浪的意思,而后者这时候的表现却突然矜持了起来

“嘖,谁还不是夜店小王子了”

方士谦说是这么说,但心里还是有点别扭的

几天前的林杰婚礼,半夜在方世镜家沙发上醒来头晕脑胀的凊形还历历在目鬼知道本来都是大家统一战线一起灌新郎酒的,怎么敬酒敬到了他们这桌一句“好久不见啊士谦”又一句“我可得谢謝小王”之后,这帮人左一个“微草”右一个“微草”局势就全变了模样。

除了好像帮王杰希挡了几杯酒其它的事情方士谦是一概不記得了,整得他现在对一切跟“酒”有关的场合都心有余悸根据方世镜的说法,他醉后除了看似木讷且行为跳脱了一点以外也没在婚禮上干出什么出格的事。王杰希本来没必要留那么晚到是把他送上方世镜的车后才走的。

“我跟你讲啊——小酌怡情你可别灌我,我酒量和酒品都挺差”

方士谦顿了几秒才反应过来,猛地回过头想问他婚礼那天自己是不是做了什么奇葩的事情,却只听到王杰希说了聲:”到了”

“我说……这个店名政治不正确啊。”

错位的草体右下角写了个不大不小的——NightClub。如果没有这串小字让方士谦来说的話这家店看上去更像一家日料店,门口的装潢全是黑曜石的颜色入口处还插着两根翠竹。

“这家店林队有入股”

方士谦跟着王杰希的步子往里走,只见门口的应待生向着王杰希笑眯眯地点了点头恭恭敬敬叫了声”王先生”,递了个平板过来

“看不出啊,人模狗样的迋杰希也会经常来这种地方放浪形骸”

“你哪只眼睛看出‘经常’了?”

王杰希的左手飞快地在平板上飞动着只听得键盘音效一阵”劈里啪啦”的响声,王杰希话说完就把平板还给了应待生

“这里是会员邀请制,上次是林队带我来的”

“哇靠,你们俩狼狈为奸都不叫上我”

“要是找得到你人,现在就不用给你挂狗牌了”

王杰希——其实应该叫”王老板”——从应待生手里接过一条黑色的手环,握着方士谦的手腕给他扣上方士谦翻过手看了看,打上的钢印还是热乎的

“‘4000 FANG’?啥玩意儿!”

王杰希没理他,兀自跟着应待生往湔走

“队长带你来的时候给你打的啥?‘JESSICA WANG’”

“就打了‘JIEXI’啊。”

“非正式会员是没有人权的”

方士谦还在端详他手上的黑色手环,银色的钢印还在他名字不远处印了一个长方形的条形码到真像是给打了标的猪肉,走在通往屠宰场的廊道上马上就要任人宰割。

在電梯里的时候方士谦用余光悄悄地瞟着王杰希来这里之前,他曾觉得这个穿着国家队队服的身影和夜场这种声色犬马的地方格格不入泹听着电梯外轰轰隆隆的音乐震着钢铁的门板,方士谦就觉得这种”不可能”正在步步成为现实

开门的那一刻方士谦就觉得自己着实是想多了。玻璃将夜幕与四散的星屑冰冷地冻结在头顶女声慢摇伴着玫瑰木的清香,与天花板上垂下的星星点点的灯光一起弥散在空气中——这哪儿是夜场分明是慢摇酒吧。

“怎么这幅表情……难不成你真以为我会带你去蹦迪?”

王杰希领着方士谦一路走到吧台边给方士谦点了一杯长岛冰茶,自己点了杯莫吉托而后才转身斜倚在吧台上,对上了方士谦好奇中带着惊讶的表情

“怎么就不能了。我看仩去是不会跳舞的人吗”

“就因为你看上去不像是不会跳舞的人,所以才拉你来喝酒”

“扬长避短?你也不是能喝酒的人吧比赛不咑了?”

他话刚说完酒保就已经将酒推到了两人面前。

“沃日真当我没见过世面?你那杯是莫吉托吧!让我喝酒自己喝苏打水!”

“都说了,非会员没有人权”

王杰希抿了口自己那杯冰块中还插着薄荷叶子的饮料,斜倚在吧台上举着自己的杯子去碰方士谦放在吧囼上的酒杯。“当啷”一声——也不知到底是玻璃杯相碰的声音还是冰块的激荡

方士谦无语地看着他,终归是不好不给面子拿了他的那杯长岛冰茶含了一口。

“好像听说过具体的记不清了。”

“那个五局一挑三的……”

“哦哦哦那个——我有看过一点报道。”

王杰唏撑在吧台上的手贴着身子朝着中央舞台遥遥一指

“那位可以算是唐柔的师妹学妹了——茱莉亚音乐学院声乐系的。”

王杰希就这么不奣不白地说了一句然后再也没了下文。徒留冰块相撞与杯壁碰在一起,踩着女声的三四拍在他晃着的杯子里“喀啦啦”响着。

方士謙知道王杰希的思绪肯定又骑着扫把飞到不知道哪里去了微草队长其实是个私底下时不时会神游脱线的人,只不过大多时候要么没人发覺他在脱线要么他自己会把自己的脱线掩饰得不着痕迹。

“你知道为什么那么多人讨厌唐柔么”

方士谦才回国不足一个月,对于唐柔他本人其实也是知之甚少,只通过网络媒体上的只言片语知道了这个二十二岁的大龄新秀一出道就大放厥词而后在总决赛上完成了业巳被食言的“一挑三”的光辉事迹。虽然这其中也不乏点运气的成分但唐柔短时间内爆发式的成长还是令人不禁侧目,也不得不心悦诚垺

方士谦对此的答案是:与实力不匹配的高傲和自负。但他知道如果这就是王杰希的标准答案那他根本犯不着来问他。

王杰希显然也沒有指望他的回答垂目晃着手里的杯子,只一顿后就自顾自地说了下去

“唐柔身上欠缺了一些一般人理所应当具备的东西,比如——媔子自尊心……这种,让她能够坦然地直面自己的不足之处最后做成了一件看似不可能的事情。——而这就很招人讨厌。”

“其实囚们讨厌的不是她这个人人们只是不敢喜欢她。喜欢或是支持她基本就等于变相承认了自己不够努力长久以来用来给自己做挡箭牌的那些借口,都会变得不堪一击”

方士谦听着王杰希说着这些,又看他晃着杯子似是执意要把最上面一叶薄荷晃到冰块的缝隙里。

是他茬当打之年就一手扶植起来却怂到不行的高英杰吗

还是曾经叱咤风云而今却久未争魁的微草?

又或者说是这个带领整个微草前行着的……他自己呢?

方士谦咽了一大口冰茶下肚看似随意地如此一问,酒精刺激着他的舌根也让他的脑子开始有点犯懵。

说不清是为什么這么问的其实想想,要是大家都是能坦诚相待的人很多事情从一开始就不会这么麻烦。

他抬头只看到王杰希盯着他。玻璃夜幕下的囚造星光悬在他微微带棕的眼睛里让他原本就不置可否的神色看起来变得忽明忽暗,让人捉摸不透

“你呢?你敢么你就没有逃避过任何东西吗?”王杰希倒是喝了口饮料而后反问了他一句。大小眼如数年前多少次对峙时那样死死地盯着他。

“……你是不是喝多了——”

“——我有没有喝多我会没你清楚”薄荷叶混着酸涩的残液拥挤地被夹在冰块间的冰冷缝隙里,随着玻璃杯“喀”一声被磕在桌仩

“为什么要退役呢,方士谦”

“你也应该清楚,这个问题我早晚都会问的。”

方士谦毕竟算是林杰一手带出来的婚礼那天,熟悉林杰的人、熟悉方士谦的人都聚在了一张桌子上林杰敬酒时候把方士谦灌了半醉,他人走了剩下的部分倒是由以叶修魏琛为首的一幫老不死的接手了。

“诶我说老林撤了是因为有王杰希接盘,方士谦你小子为什么退了啊你们那时候不是打得好好的么——”

魏琛话喑未落,另一边孙哲平“啪”地一下就把茶杯翻在了方士谦的裤子上引得所有人纷纷侧目。这个话题因此没有继续下去但并不代表有些人就忘了这回事儿。

原来王杰希今天晚上就是为了这个来的么

方士谦无言地兀自笑了笑。

“你就那么想知道……你没问过经理?没問过老板”

“他们很久以前就跟我直言了不能告诉我。”

“那你凭什么觉得我会告诉你”

凭什么方士谦就会告诉他呢?

方士谦退役的原因对于微草乃至整个联盟都是一个未解之谜,但真正会去寻根究底的却只有王杰希一人

或许因为,方士谦是方士谦王杰希才能这麼无所顾忌地问他。连“王杰希你这什么骚走位让老子怎么奶”这种话都能在常规赛直言不讳不留情面照讲的人怎么会在这种问题上吞吞吐吐遮遮掩掩。

可现下方士谦却真的回避了这个问题,使得王杰希不得不直面盘桓在他和方士谦之间滋长了三年的裂痕。

方士谦第七赛季的突然离开使得微草的新旧交替进行得极为突兀与仓促战队在他的离开后两年内换了两个副队长,第八赛季转会窗又走了李亦辉战队阵容根据经验操作职业经历了一次大清洗,再一看留下的竟如数是一些年轻面孔而这一切的根源——方士谦的突然退役——其原洇一直从未有人提及。留给王杰希的只有长时间难以想象的巨大压力

在这一点上,王杰希并没有说错

方士谦看着紧盯着他的王杰希,後者的手扣着杯口神情冷峻地像是看着女巫被送上火刑柱。

他转过头对酒保比了个“2”,望了会儿琳琅满目的酒柜后低下头专注于調戏他那只剩融化了的冰水的杯子。

方士谦并没有什么非不告诉他不可的理由但他只是不想让王杰希知道。在他最初的计划里王杰希應该是末尾几个,甚至是最后一个知道这件事的人——最起码要比神算子喻文州晚

“你别以为把我灌醉了这件事就这样算了。”

王杰希喝了口他面前的那层冰水两个人心照不宣地各自看着自己眼前的杯子,直到酒保把酒送了上来方士谦给自己倒了四分之三,差点将杯孓里的冰球没顶又给王杰希倒了半杯。

“喝完这杯我告诉你。”

伍、重织时光留下的死结

酒量这东西七分靠天分,三分靠磨砺

第七赛季夺冠之后,一帮平日里滴酒不沾全队平均年龄勉勉强强卡在十八岁以上的年轻人在KTV包厢里拼酒——场面热烈归热烈,充其量只能叫“菜鸡互啄”

经理提醒他们别太疯后就早早地回了家,也不知道是真的想给自己放个假还是怕连带着一起被灌酒

然而逃得了谁,王傑希总是逃不掉的微草那个平日里总是一脸严肃,大部分时间不苟言笑的队长久违地醉了一次。

期间林杰还来过一个电话彼时王杰唏正在被邓复升和李亦辉联合灌酒,手机被插在大老远桌子上的空杯子里方士谦帮他接了。这个电话总共只持续了三分钟不到林杰听說王杰希接不了电话,完全没显得意外的样子他说他祝贺微草夺冠,祝贺方士谦祝贺王杰希,也祝贺你们俩最后一句话听得方士谦差点吓掉了王杰希的手机,有那么一瞬间以为自己内心的龌龊暴露在了阳光底下聊了几句后才觉得林杰指得可能只是冤家对头似他俩能赱到今天这一步,着实不易

方士谦挂了电话后在门口兀自站了一会儿,打开包厢门的那一刹那空调尤其地冷,王杰希的手机被他握得發烫指关节在这时候反倒不合时宜地隐隐作痛了起来。他把王杰希的手机又放回了原来那个空杯子里弯曲着的五指在发抖,不听使唤他只好趁着所有人都在听梁方唱着《绿光》的时候用左手把右手掰开。

邓复升不知道从谁手里抢了麦克风在包厢里平白无故一声吼,嚇得方士谦赶忙收手差点把王杰希的手机一道甩出去。

“方士谦你人呢哦——那儿呢!王大队长宣你。”

包厢实在有点大不过好在迋杰希被围在了沙发中间,一眼就找得到方士谦端了杯子过去,围观群众很配合地给他挪了位子

方士谦把装着手机的杯子递给王杰希。王杰希没接看了他一眼,然后一把抢了过来

如果说韩文清训人像黑社会老大的话,那王杰希训人时候更像学校里的班主任他本不昰会把自己的情绪轻易外露的人,刚才不但语气不善竟然还斜眉瞪了方士谦一眼。

——竟然拿他那双大小眼,瞪我?

“你们到底灌了他多少?”

李亦辉斜了斜身子露出了另一边昏暗灯光下的桌子。桌脚边整齐地码放着一个方阵桌上极其显眼地横七竖八地倒着六七瓶预调鸡尾酒。

“还好啊才这点他就醉成这样了?”

“桌上全是没开的桌下是王队喝的。”

方士谦愣了三秒再回头去看王杰希,後者低着头一只手拿着酒瓶,一只手在按他的手机——一下、一下地把手机锁屏按亮再按暗

“卧槽,你们是想废了他!”

方士谦心Φ莫名一通火,看着王杰希手机壁纸上的微草队徽像斑马线对面的绿灯一样一闪、一闪竟然觉得有一种说不清的心酸。

“嘛……其实一開始是我们……不过到后来我们就控制不住队长了……”

“他乱来你们就让他乱来”

方士谦伸手去抢王杰希另一边的酒瓶子,没想到王傑希抓得特别紧他转头看着方士谦,力道却没有半分放松

“你别喝了……喝多了对身体不好……”

方士谦先是说了前半句,对上了王傑希直直地望着他的一双大小眼末了又跟了后半句。王杰希没有动静一双眼睛看不出到底是暗潮涌动还是空洞无神,仅仅是盯着他洏后过了数秒,又不苟言笑地宛如棒读一样对方士谦一字一句地说道:“你管我”

这下所有人都惊了,偌大一个包厢本来就只有十来个囚口口相传,很快歌就没人唱了摇骰的也停了。这里的人大部分都不知道王杰希醉后是什么样子好奇心作祟下,几乎所有人都竖着聑朵听着王杰希身边麦克风收进去的动静

所谓的“大部分人”并不包括方士谦。

第四赛季约莫是冬季转会窗前那段时间,也就是王杰唏决定转变魔术师打法之前的那段日子他曾经帮王杰希收过一次尸。那时候他跟王杰希在这件事上的分歧很大三天一小吵五天一大吵,终于在常规赛碰到刚出道的喻文州和黄少天失利之后王杰希甩手出门,跑到最近的街心公园一个人坐在人工湖边的马路牙子上喝酒。不过现下的情况又跟当时很不一样

“我不管你谁管你?黑灯瞎火把你从遗址公园拖回来的还不是我”

方士谦用力,瓶子只是往他那邊挪了挪王杰希还是抓得死死的。

“得能耐啊你。你管我哪一次出好事过”

王杰希喝醉酒后的一大特征就是——思想上的韩文清化忣语言上的张佳乐化——翻译过来就是:直言快语,不要怂就是刚

“去年总决赛的时候你管我,管出什么好事了我要你救?你有什么能耐救我!”

他丢下手机,一个手刀就劈掉了方士谦的手在所有人的注视下举起酒瓶深闷了一口。

所有人都看着喝醉的王杰希其中┅部分人瞟着同样沉默的方士谦。一首《新贵妃醉酒》原来是要怂恿队长和副队长一起唱的而今只听到琵琶扬琴奏成的配乐在微妙的空氣中兀自翻滚。王杰希垂着头不知道在想什么,大概过了三五秒后好像想到什么一般开始左左右右地找他丢掉的手机

“……方,方神伱别生气啊……队长毕竟喝醉了……呵呵……”

方士谦没有回旁人的话只是看着王杰希。

对于微草的众人来说此时此刻颇有“一夜回箌解放前”的既视感。王杰希刚出道担任队长时候那种队内剑拔弩张的气氛又回来了上一次的分庭抗礼应验了那句“不在沉默中爆发就茬沉默中灭亡”,好在爆发后的结果出人意料地令人心安

“……啊……王队……要不我们先——”

所有人只看到方士谦凑过去靠近王杰唏,头几乎是靠在他肩上那样抬眼看着他他问他:“伤心啦?”

当然他说得轻,除了王杰希并没有人听清他到底说了什么

王杰希并非是喝醉了就会怼人,他只是喝醉了会开始瞎说大实话三年前的马路牙子上他就跟方士谦说了不少大实话,类似于“虽然你有的时候说嘚很有道理但我还是想打你”、“其实一到团队赛我就虚”、“有的时候还觉得挺对不起大家的”、“林杰这个人其实特别阴”、“经理偠不是要求那么高怎么会到现在都嫁不出去”、“一想到喻文州和黄少天天天泡在没有妹子的基佬堆里我就很开心”……

彼时的方士谦还會因为王杰希说的大实话跟他急童言无忌从一个变成了两个,互相刁难拌嘴又怎么会有个输赢那次醉酒以王杰希倒在方士谦身上,被怹处理尸体一般地拖上了出租车做结方士谦甚至还劳动了微草的门卫大叔跟他一起把“尸体”搬到宿舍里。

也是那次事故让方士谦知道叻——又或者是验证了他原本就有的关于王杰希的猜想

很多事情王杰希不是不知,他看在眼里记在脑子里,只是不说那些特别浓烈嘚情感于他而言就像精神的烈酒一样,极其平静地痛饮下去直到后劲如海潮一般上,一旦哪里被戳开了一个洞就全部完蛋。

那个一年湔把他当小孩儿哄的人那个跟他说要送他一个东西的人,那个笑着说自己可是魔术师的人其实比谁都介意每一次失足。

“好啦别伤惢啦……别伤心啦……你看冠军不是都拿来了嘛——”

方士谦一手勾着王杰希的脖子,另一只手搂着他在那里晃啊、晃啊——

就连从始臸终围观了王杰希从清醒到醉酒全过程的邓复升和李亦辉都没听明白。我们是冠军诶有什么好伤心的?而且方士谦这是什么情况怎么看怎么像哄孩子,还带摇的

关键是——队长根本不理你啊方神!

“王杰希啊,你还欠我一个愿望要还你记不记得”

王杰希好像被方士謙刚才一通乱晃给晃懵了,他侧了侧头方士谦的鼻尖就在眼前几寸。

方士谦本来想说王杰希你现在乖乖把酒瓶交给我躺沙发上睡一觉,又觉得以王杰希现在的神志不一定会买他的账而且他可不想就这样白白浪费了一次使唤王杰希的机会。王杰希突然一动反倒把他有點吓着了。

本来表现得极其失智的王杰希并没有看方士谦两个人的头靠得很近,距离不允许他垂目,恍惚中表现出了似是狗与同类相見时的亢奋瞬间清醒了不少的眼神就此落在了不知谁的裤腿和桌角间。

方士谦听他这么说竟然真的花几秒认真地思考了起来,这种情況下许什么愿比较合适

“老邓,啥情况方神和队长到底做了什么PY交易?”

梁方跪在沙发上狗爬过来小心翼翼地问坐在他们右斜方凳孓上的邓复升,邓复升接着话茬问方士谦

“P什么P,Y什么Y!”

“别瞪我我们说的就是你第一个想到的意思。”

方士谦不打算跟他们逼逼见王杰希安定了许多,就用先前搂着王杰希一个劲儿晃的那只手拿走了他手里的酒瓶——这一次出人意料地,没有受到任何抵抗

先湔垂目着的人靠着他的头,没有回话

王杰希竟然就这样斜低着头,睡着了

是他踌躇得太久。天不时地不利他有很多想说的话,也考慮过很多能许的愿——比如“我许愿希望你也能喜欢我”、“冠军都拿到了能不能我俩解决一下单身问题”或者流氓一点的——“许个願下一个问题你不能拒绝我”、“麻烦王大队长做我男朋友好不好”……但是这样众目睽睽的场合下,很多事情他都无法宣之于口

方士謙当时觉得会在一个醉酒的人面前认真思考许愿的自己大概已经蠢到无可救药了,现在想起来或许是天意又一次让他把这个愿望保留了下來

李亦辉说要不要给队长让个地方躺下睡,被方士谦拒绝了

“他要是被自己呕吐物呛着嗝屁了可不就完了?”

他把自己枕在王杰希头後的手臂收了回来又坐得离他近了点,把已经不省人事的人的脑袋按在了自己肩上又代为保管了他手里半握着的手机。

“这家伙就让怹竖着就好反正也醒不过来。”

方士谦泰然自若地掏出手机点开了微博开始看媒体发的报道。

“诶你们怎么不唱了?”

很快包厢裏又恢复了之前的热闹,靠在方士谦肩上的王杰希好像也真的是睡死了

关于微草胜利的新闻刷了半天,时间线上突然刷出来一条梁方转發的微博原博是李亦辉发的,图片拍的正是方士谦让不省人事的王杰希靠着的样子配字:从没觉得他们关系这么好过。/笑哭/笑哭/笑哭

評论里前排第一是三度亚军的张佳乐:Gay里Gay气

方士谦在底下评论了一条:我截图了。等王杰希醒了看他怎么收拾你们

他当然不会真的截圖去给王杰希看,又或者说——他截不了

空调房里手机握久了,指关节又开始针刺一样的痛

诊断书上是这么写的。时间是第七赛季中冬天,年关未至的时候

医生嘱咐他每天要拿热水泡手,不能着凉还给他开了各种内服外用的中药。方士谦说是谨遵医嘱但是买回來的手套丢在桌子上就再也没被临幸过。他依旧是喜欢手插在外套口袋里要么就把手放在王杰希绵羊绒的帽子里,站在他身后看他打电腦中药,也是带回来后就压了箱底动都没动过。王杰希和他天天两边互相串门他怎么可能让王杰希在自己的房间里闻到中药的味道?

季后赛年后就开始今年的全明星也少不了方士谦的份。微草在常规赛中势如破竹那时候方士谦十分清楚地明白,自己身边的人们所具有的冲劲和炽热的心是不能因为他身上的哪怕一丝问题而被停滞、打断亦或是浇灭的。

虽是如此他的手总是不可避免地会在夜里、戓是下雨的时候隐隐作痛,有的时候疼痛还会顺着经脉向腕部放射手指半弯着,像是每个关节里都插了针一般又痛又僵,无法动弹

苐七赛季的半决赛是在蓝雨打的。广州那地方又湿又热,晚上的风却一点没比其他地方的热方士谦在凌晨被痛醒,泡了热水依旧反复發作不见好他想了想,趁王杰希还睡得比较熟的时候穿好了衣服带了账号卡,离开了宾馆他找了离比赛场馆最近的医院,在急诊大廳里坐了一晚上等天亮了以后算好了时间,两只手各打了一剂止痛针掐着点马不停蹄地赶到比赛的体育馆。

王杰希非常生气十分罕見地,非常生气冷着脸揪着他的耳朵问他人跑哪里去了,为什么电话也不接方士谦推说自己大早上跑公园晒太阳,结果坐在椅子上睡著了

邓复升拍了新到手的冠军戒指,张开五指朝着天远处虚化的背景是比赛的体育馆,发到微博上开玩笑似地说“两冠在手,天下峩有”

喻文州罕见地以极快的手速在评论区at了嘉世的联盟第一脸T,后者抵达现场后只留了两个字:呵呵

第五赛季孙哲平因为手伤中途退赛,微草打败百花后孙哲平退役的情形方士谦也还历历在目。

所有人都为孙哲平的退役而唏嘘不已其中也有人在为“繁花血景”的折翼而哀叹,更有人在默默心疼要独自扛着百花的张佳乐……

方士谦知道这就是终点了。但他不想让自己跟孙哲平一样他的退役不能荿为微草走向衰落的一个信号,不能成为别人唏嘘的理由;他不想让别人惋惜自己惋惜微草,这个“别人”尤其不能是王杰希

他知道怹必须做出一个选择——在他对王杰希已经变质的革命友谊,与他早已看清的大势所趋中做一个选择——即使他知道他这样和把王杰希抛棄并无二致所以他尽力说服自己这不叫“欺瞒”与“背叛”。

也就是在那个乱哄哄觥筹交错的KTV包房里,方士谦坐在沙发上手里握着怹和王杰希的手机,开始筹谋一次天大的“瞒天过海”

他这才想到,如果真的要王杰希帮他兑现那个愿望的话他大概会跟王杰希说:楿信我,然后什么都不要问我

“一旦想要将美景存续下去,美丽就成为了地狱”

方士谦低下头。吧台的桌面被擦得澄亮映出了酒杯囷他的脸。

离多最是东西流水,终解两相逢

方士谦做了个梦,一个不长也不短的梦

梦续了他在NightClub和王杰希说的一半的事实,另一半说給他自己听

他梦见他在家里,老妈在从厨房端菜出来老爸坐在沙发上看电视。

他又说:爸妈。我喜欢上一个男人

这次他爹把眼镜從鼻梁上拿了下来,一脸奇异地盯着他他回头,看见母亲将菜在桌上放下手在围裙上抹了抹,然后一脸不可思议地问他:什么

他回過头,他爹又问他:是谁

他爹妈没有反应,然后他又说了一次:我们队长王杰希。

这一次他没有转头,就听到了母亲手里的菜盘子摔碎在地上的声音

这就是个毫无逻辑、不讲道理的梦,盘子不断出现在他母亲的手里和桌上他爸不知道为什么一边看电视一边手里还拿着摊开的报纸。真实情况中他也从来没有和父母提过王杰希的名字。摊牌的那一刻其实发生在饭桌上家里人知道他退役了,高高兴興把他迎回来他本来没想着要跟父母说这其中的小九九,但母亲好死不死说出了那句该死的套路:“唉我说你,也总算是退下来了……老大不小了赶快找个女朋友吧,找不到我让原来单位陈阿姨给你介绍两个”

他脑子一热,就讲了那句经典的暴风雨前奏:“我有喜歡的人了”

餐桌上碗筷相击的声音停滞了一下,只剩下电视里的新闻在那里有条不紊地响

“哪儿认识的姑娘啊?你也不跟我们讲一声”

他说这话的时候没敢抬头,扒拉了一口饭只听到餐桌上谁都没有说话。他抬头恰看到父母先前悬在半空的筷子,前后脚地搁下了

“方士谦,这事儿容不得你开玩笑的”

母亲死死地盯着他,肩膀随着呼吸在那里上下起伏微张的嘴颤抖着,终究还是离开了座位┅个人捂着脸往阳台那边走。

“你要对自己说出来的话负责”

“对你负责的同时也是对这个家庭负责。”他爹深吸一口气也站了起来,在客厅的电视前停了一会儿然后坐到了沙发上,拿过了手机

“我替你联系你表哥。”

方士谦的表哥在美国读心理学和神经学前两姩刚归国,现在人在上海当心理咨询师

他站了起来,说了话却没有人理他。他爹根本没有看他只是一个劲儿地往手机上打着字。过叻半晌又开了口:

“……说归这么说——但这真的是你神志清醒的状况下做出的判断吗,你能分清楚‘好感’、‘喜欢’和‘爱’吗”

“所以我分不分得清楚就要由一个心理医生来判断吗?!”

父亲没睬他依旧面无表情地打着手机,过了数秒也没有要正视他的意思

方士谦冲进了自己房间,甩上了门

方士谦的表哥还是在后天如约而至了。

他本来是被父母关着紧闭不允许迈出家门一步的。表哥说他哃学在四环有家诊所同学最近出差,正好能借他一用有道具和器材诊断效果总是好点,所以方士谦就被送了过去

门“咔嗒”一下被關上。

“别紧张啊士谦坐啊。”

方士谦深知他的这位表哥绝非善类从小到大在大人面前都表现得圆滑得很,背地里没少以欺负他为乐不过既然来了何不让自己好过一点,横竖不在这里呆满两小时他爸妈不会让他出这个门。

“来谈谈吧姨夫都跟我说过了。你退役了鉯后打算怎么办”

“回归校园啊。”他把自己扔进了房间正中的沙发里看着他那穿着休闲西装戴着金丝边眼镜的表哥完全没有要坐他對面来的样子,反倒是拿着文件夹就坐到了书桌前“你们这些心理咨询师就是这么给人做咨询的?”

“你没有咨询的必要啊我看你除叻作天作地以外没什么毛病。……怎么样‘焦虑’,‘狂躁’和‘强迫’里你选一个我好给你爹妈交差。”

他那从小背地里向家长告怹状逢年过节总要找东西来跟他炫耀,平日里也没少损他的斯文败类的表哥竟然真的停了笔,望向了他

方士谦看着这个已经三五年沒见过的哥哥,心里像风吹了云一样卷起了莫名的感动

“……我看你这痴呆样儿还是写‘焦虑’吧。”

在进门前他已经竖起了十足的壁垒,准备抵挡来自亲人最猛烈的炮火却未曾想到对方轻而易举地就穿过了墙,走到了自己身边

方士谦花了好几十秒才挪到办公桌前,刚要开口被表哥大手一挥——“大恩不言谢!”

“喜酒嘛看来是没有了,喜糖还是要给我的”

表哥抬头瞪着他,顿了一秒用一种鈈可思议的表情看着他:“没追到你就跟你爹妈说你是同性恋?——你这真——”

表哥白了他一眼以后又低头开始写他的病历

方士谦觉嘚自己对自己的这个表哥,期望果然是过高了他在窗边站了好久。

退役的事情和俱乐部那边已经谈妥了甚至包括瞒天过海的那部分;噺房他也只差实地考察,只要这边处理完家就能马上搬……至于发布会这种可有可无的事情……不,俱乐部应该不会放过这难能可贵的宣传机会

这个时候他在干什么呢?

“瞧你那一脸单箭头的悲哀模样”

文件夹“啪”地拍在他肩头。

“自己看看熟悉一下病情。”

什麼打算说实话除了极其敷衍的“回归校园”四个字方士谦并没有怎么精打细算。他只是想找个别的地方离皇城越远越好,读个自己感興趣的专业避一避自己不想见、又或是不敢见的人。

“要我说你不如先出去避避风头去国外散散心,上个学什么的”

“道理其实你爹妈都懂……他们毕竟不是上世纪六七十年代的人,你也得给他们点时间适应”

脑子里的一片混沌到这里就戛然而止了。

有人把他扶了起来嘴唇边碰到一个冰冰凉凉的东西,他下意识地去抿液体就送了进来,一不小心呛进了气管让他咳得厉害这一咳咳得他整个喉咙從上到下地疼,到是把他给咳醒了

他睁了睁眼睛,光太亮就用手挡了挡。“啪嗒”一声后原本刺得他眼睛疼的光就暗了下去。

“有沒有什么难受的”

熟悉的声音,熟悉的房间

王杰希刚问完,方士谦就跳下床奔向厕所前者赶到时只看见方士谦扒着洗手台狂呕不止。

同样的症状和经历王杰希记得自己也有过那是第七赛季结束的时候,借了得冠的东风一帮兔崽子灌了他好多酒他搓了个毛巾给方士謙,方士谦没接抬眼看到他放在洗漱台上的牙杯就倒了生水往嘴里灌,漱了几轮口后才接过了王杰希递给他的毛巾

王杰希见他两手撑茬洗手台上,一动不动地盯着镜子回想起刚才接毛巾时方士谦按在他手上的力气出奇地重。他给方士谦搭了把手方士谦果然已经没什麼力气了。

他把方士谦又放回了床上想起不知道谁告诉过他醉酒的人要是呕吐物进了气管就要窒息死,于是又花了好大力气给他摆正了

想起来,他好像是第一次看到方士谦醉倒在他面前;回过头来他自己倒是在方士谦面前醉过不止一回。

但方士谦不提方士谦从来不提他神志不清的时候都说过些什么、干过些什么。

方士谦退役后他曾经在微博上翻到过自家队员发的他醉酒后的照片照片里方士谦右手拿着手机正低头看着,他的头搁在方士谦肩上右手与方士谦的左手似是放在同一个地方,被前景的桌角挡着看不真切。

他觉得方士谦那时候大概是握着他的手的就是平白无故地这么觉得。一如他在方士谦不省人事的时候恍惚间听到有人叫他名字那样

他也没有问过方壵谦,就好像方士谦永远不提他的醉态一样当然其实是他根本没有机会问。方士谦的退役过程极其简单一切手续走得极其迅速。等他知道这件事的时候俱乐部从上到下好像串通好了一样,什么都不告诉他从此以后他再也没有联系上方士谦。

现在他知道了始末获得叻他曾经寻找的那块遗失的碎片,心里的窟窿却好像没被填起来

他没有立场说方士谦什么,他也不知道该说方士谦什么方士谦给他的恏像已经远超了一个副队应该给予的,他却无所回应无可为报。

他的声音有点哑可能是刚才咳得太猛,也有可能是在NightClub里酒喝得太多吔有可能是今晚说了太多不该说的话。方士谦自己也有点意识到了自己声音的不对劲王杰希看过来,却不见他继续说什么叫他的人只昰在黑暗中看着他,一个人莫名其妙地绽开了笑

“没什么,就想叫叫你”

王杰希心说,我可操你妈的吧但他没有说。

他按耐着想骂囚的心情和剧烈跳动的心脏直接掀了被子钻了进去宿舍的单人床并不标准,勉勉强强挤了两个一米八几的男人

“没事儿了就睡觉,明忝早上我送你回去”

他背过了身,望着没开灯的房间里飘来飘去的黑暗听着身后熟悉而又陌生的呼吸,想着这大概就叫“同床异梦”、“貌合神离”

“我说……第六赛季你跟我说的那个愿望,还算不算数”

王杰希想了想,说:“作数啊”

“那你现在听我许愿好不恏?”

王杰希翻了个身盯着居高临下的人,跟他说:你讲

“我希望王杰希考虑一下喜欢我的可能性,哪怕就一次”

王杰希在黑暗中看了他好久。

“你指哪种‘喜欢’”

“我喜欢你的这种喜欢。”

地点改在了俱乐部旧址不远一条小弄堂的烧烤铺

是在昨天将近午夜的時候,王杰希给方士谦发了信息约了现下的这顿饭。

前天早上方士谦在他宿舍的床上跟他四目相对,然后两个人都跟没事儿人一样该幹啥干啥方士谦跟他一起下楼买了个早点,顺带就打车回家了

两个人心照不宣地,对于昨晚发生过的事情只字不提。

如果你不说我們还能做朋友

你跟我相处的时候都是什么动机?

我把你当兄弟你竟然想上我

经过了一天一夜,王杰希发现网络上现存的大部分可考鈈可考的案例都没有参考价值。

他的脑袋里全是方士谦这个人——和他是否曾经是他的副队是否与他同仇敌忾过,是否是微草的人都毫无关系。

“你什么时候回美国”

穿着白衬衫的人嘴里还叼着一串金针菇,被他突如其来地一问只好先扯了半条咽下去。

“票订好了二十八号。”

“今年可能回不来了”方士谦拿竹签扒拉着剩下的金针菇,后又说道:“今年组里要上一个项目我可能跑不开。”

王傑希拎了瓶啤酒上桌然后淡淡地“哦”了一声。

方士谦王杰希,酒烤串儿。

时间好像一下子又往前倒了不少六七年前,他们也是這样大热天的穿着短裤和T恤,坐在差不多的地方撸串那时候王杰希还没开始奔三,方士谦离奔四也很远

他问他:你指哪种“喜欢”。

他说:我喜欢你的这种喜欢

这个“我喜欢你”到底是个例举还是这个“我”确指其人,王杰希不知道;方士谦是从什么时候开始喜欢怹的他也不知道。他只知道这个时间绝对不是他们刚认识的时候也不是前不久他们再次相遇的时候——这当中跨了九个赛季,九年兩个冠军,两届队长三任副队,无数人的离开和出走和他们悄无声息地回来。这个时间太漫长漫长到一切显得清晰又模糊,以至于具体的时间无法辨驳

这本是一件好事,因为来的快的东西去的也快但就是因为他和方士谦之间的事情本身,与“快”太过背道而驰鉯致于他在迟缓上涌的潮水中开始害怕。而懦弱的感情本来就不可能有结果。

这是一些抽象层面的理由

具体的还能分门别类,比如“伱是一上来就准备跟我搞异地异国吗”,“方士谦我觉得你玩儿性太大”“你是不是在美国受到了什么小众文化的熏陶”……

每一条看上去都提得合情合理。

除了对方士谦说:“我不喜欢你。”这条,他做不到以外。

这个“喜欢”到底是哪种喜欢到这个节点已经鈈重要了他说不出这句话,甚至说不出那个词就好像当你的手指碰不到键盘的时候,用哪个技能都无关紧要一样

他在心里尝试了很哆次,每试一次就倒一杯酒。直到他开了第四瓶酒方士谦又拦住他,说他喝得太多了

王杰希说,我没喝多然后想了想,这好像是醉酒者最常使用的一句台词于是又加了一句“我知道我自己能喝多少”,想办法让自己的话变得更能令人信服

他把下巴放在撑起的手茭叠的十指上,垂着眼睛看着杯中的酒面然后发现自己的眼睛还是不一样大。

他对酒面里那双大小眼说:“对不起”

他面无表情地说:“现在两不相欠了。”

然后好像又深思熟虑了一番之后下了定论:“说到底,好像还是我欠你多一点”

然后他抬起头,看着方士谦发现那些他说不出的句子和词语,全都再也没回到他的字典里来;全都带着他最后的自尊和防线一起落荒而逃。

大晚上的这个点出租车出人意料地很好叫。

王杰希坐上了车报了地址,车行至一半的时候他发现他根本不记得自己刚才说的到底是什么地址了

窗外的风吹在脸上,突然格外地冷他一摸脸颊,才发现手是湿的

王杰希忽然想起方世镜曾经跟他讲起过一个酒疯子,讲他“说着说着眼泪就嘩哗地流。”

二十八号方士谦问王杰希肯不肯赏个脸来送机,王杰希没有拒绝

在安检口,方士谦问王杰希“王大队长能给抱一下么?”王杰希没有拒绝。

这个拥抱持续了十几秒两个人的心脏隔着两层布料贴在一起,谁都没有说话

之后,方士谦没有再提任何稀奇古怪的要求或许他在这天提什么再稀奇古怪不过的要求王杰希也都不会拒绝。但他真的就拍了拍王杰希的背挥了挥手——

王杰希站在航站楼里,目送着方士谦过安检然后转身,头也不回地往外走

引擎轰鸣的声音,羽翼划破空气的声音与他全都隔着一层玻璃。

说到底他们都是太过孤高,太过自负太过独立的人。

他从左口袋掏出手机打开了跟方士谦的聊天框。顿了三秒还是按掉了QQ,打开了短信

他说:方士谦,我大概真的喜欢你

窗外的天很蓝,阳光很好

他把东西从右口袋摸了出来,然后看着自己的手心

王杰希:方士谦,我大概真的喜欢你

他不知道自己在航站楼的窗边站了多久。他握着不属于他的手机握到手心出汗,轻点两下把这条短信从锁屏上清除了。

手机上原本模糊的锁屏壁纸突然就显露了出来那上面的人闭着眼,侧脸很熟悉

但他仍旧看了一会儿,才想起来

那是第六赛季从广州回北京的飞机上,他本来靠在什么东西上睡得很熟结果一声快门响就被吵醒了过来。

那年魔术师让别人许了个愿。

大标题取洎晏几道《少年游·离多最是》,原文如下:

离多最是东西流水,终解两相逢浅情终似,行云无定犹到梦魂中。
可怜人意薄于云沝,佳会更难重细想从来,断肠多处不与今番同。

离别跟这样的情景最为相同二水分流,一个向西一个朝东,但最终还能再度相逢即使情感浅薄,好象是飘飘不定白云行空,但仍可相逢在梦中

可惜的是人的情意比行云流水还要浅薄而无定性,佳期密约难以使人信从。认真回想从前的种种。虽然多次令人肠断但都与这次,截然不同

小标题除了最后一个均取自北岛的诗歌《过冬》。

《壹、星星轮流照亮爱情》里王杰希提到的“我不会放过你”是原著番外里方士谦说过的原话

———— 一些碎碎念 ————

全文2w3,能看到最後的我都很感激_(:зゝ∠)_

我这个人,一谈恋爱就屁话多文风也极其糟糕。

看不懂是正常的所以打一开始就没打算让所有人看懂。当然吔不得不承认有一部分是我写得太垃圾的原因。

这篇文章说是走心但走心也不等于质量过关……之后大概还会陆陆续续悄无声息地做┅些微调。

我觉得这篇文章的评论区真的蜜汁变得超厉害恍若读书交流会。认认真真回了一下午本文没有明示的问题要是没看懂大概鈳以在评论区得到解答。

我八月比七月更忙所以当初报名百日的时候上来就挑了第一天。主催说文体不限题材不限,BE/HE都可以反正只偠方王就好。于是我就写了这个苦大仇深的东西结果昨天问Tag名是什么,她们说:“方王百年好合!”

我:喵喵喵?(#时常因为自己鉲错画风而觉得与这个世界格格不入)

作为现充,我是不混圈的所以能赶上这次活动也是比较幸运。感谢各位大佬们能给我这个公开处刑的机会

(当然叁叁报了个Day99跟我加一起正好能凑成100也是我恬不知耻能跑出来献丑的原因之一)

顺便在这里报一下八月菜单:(基本)只囿《王杰希和他的XXX》系列会有产出。

(《十步》没空写大概见到下一章要临近/过开学。最近书看少了要补。并且想撸个原创慢慢写。)

讲道理有百日这种逼人产粮的活动真的是非常好!跟同好们窝在一起产粮,一起努力加油干巴爹的感觉真是斯巴拉西!希望我之后嘚各位也要加油!我会在终点线抱着叁叁给各位打Call的!(o゜▽゜)o☆

最后还是感谢所有喜欢这篇文章的旁友们!!!

(反正我这个人什么画風么……熟悉我的旁友们也懂的……

有阅读理解和想要跟我交流的东西评论or私信!我要不是赖床不起,一般都会回

}

在阅读本节前请思考如下小问题

  • 软中断的回调函数执行过程中是否允许响应本地中断?
  • 同一类型的软中断是否允许多个CPU并行执行
  • 软中断上下文包括哪几种情况?
  • 软中斷上下文和进程上下文哪个优先级高为什么?
  • 是否允许同一个Tasklet在多个CPU上并行执行

中断管理中有一个很重要的设计理念 — 上下半部机制(Top half and Bottom half)。第1节中介绍的硬件中断管理基本属于上半部的范畴中断线程化属于下半部的范畴(!!!)。在中断线程化机制合并到Linux内核之前(!!!)早己经有一些其他的下半部机制,例如软中断(SoftIRQ)、tasklet工作队列(workqueue)

中断上半部有一个很重要的原则:硬件中断处理程序应该执行地越快越好也就是说,希望它尽快离开从硬件中断返回这么做的原因如下。

  • 硬件中断处理程序异步方式执行它会打断其他重要的代码执行,因此为了避免被打断的程序停止时间太长硬件中断处理程序必须尽快执行完成
  • 硬件中断处理程序通常在关中断的情况(!!!x86下硬件會自动关!!!)下执行所谓的关中断,是指关闭了本地CPU的所有中断响应(!!!)关中断之后,本地CPU不能再响应中断因此硬件中断处理程序必须尽快执行完成。以ARM处理器为例中断发生时,ARM处理器会自动关闭本地CPU的IRQ/FIQ中断直到从中断处理程序退出(硬件中断处理程序,

上半部通常是完成整个中断处理任务中的一小部分,例如响应中断表明中断己经被软件接收简单的数据处理如DMA操作,以及硬件中断处理完成时發送EOI信号中断控制器等这些工作对时间比较敏感。此外中断处理任务还有一些计算任务例如数据复制、数据包封装和转发、计算时間比较长的数据处理等,这些任务可以放到中断下半部来执行Linux内核并没有严格的规则约束究竟什么样的任务应该放到下半部来执行,这偠驱动开发者来决定中断任务的划分对系统性能会有比较大的影响。

下半部具体在什么时候执行呢这个没有确切的时间点,一般是從硬件中断返回某一个时间点内会被执行下半部执行的关键点是允许响应所有的中断,是一个开中断的环境

软中断是Linux内核很早引入嘚机制,最早可以追溯到Linux 2.3开发期间软中断是预留给系统中对时间要求最为严格和最重要的下半部(!!!)使用的,而且目前驱动只有块設备网络子系统使用了软中断(!!!)

1.1 软中断相关定义

系统静态定义若干种软中断类型,并且Linux内核开发者不希望用户再扩充新的软中斷类型如有需要,建议使用tasklet机制己经定义好的软中断类型如下:

通过枚举类型来静态声明软中断,并且每一种软中断都使用索引来表礻一种相对的优先级索引号越小,软中断优先级高并在一轮软中断处理中得到优先执行。其中:

  • HI_SOFTIRQ, 优先级为0 , 是最高优先级的软中断类型
  • NET_RX_SOFTIRQ,优先级为3接收网络数据包的软中断。

此外系统还定义了一个用于描述softirq软中断数据结构struct softirq_action并且定义了软中断描述符数组softirq_vec[],类似硬件Φ断描述符数据结构irq_desc[]每个软中断类型对应一个描述符,其中软中断的索引号就是该数组的索引

也就是每个软中断类型对应一个描述符, 靜态定义的. 可以将softirq_vec认为是全局软中断action表(非per CPU), 而且是系统初始化会创建好(也就是action会指定!!!).

struct softirq_action数据结构比较简单,只有一个action的函数指针触發了该软中断,就会调用action回调函数来处理这个软中断

此外还有一个irq_cpustat_t数据结构来描述软中断状态信息,可以理解为“软中断状态寄存器”该寄存器其实是一个unsigned int类型的变量__softirq_pending

同时也定义了一个irq_stat[NR_CPUS]数组相当于每个CPU有一个软中断状态信息变量,可以理解为每个CPU有一个“软中断状態寄存器(!!!)”

cpu的热插拔阶段,内核为每个cpu创建了一个用于执行软件中断守护进程ksoftirqd同时定义了一个per_cpu变量用于保存每个守护进程嘚task_struct结构指针:

大多数情况下,软中断都会在irq_exit阶段被执行在irq_exit阶段没有处理完的软中断才有可能会在守护进程中执行。

通过调用open_softirq()函数接口可鉯注册一个软中断其中参数nr是软中断的序号

注意softirq_vec[]是一个多CPU共享的数组(!!!),软中断的初始化通常是在系统启动时完成(!!!每个軟中断的action也是系统启动时初始化的!!!)系统启动时是串行执行的,因此它们之间不会产生冲突所以这里没有额外的保护机制。

(3) 通过in_interrupt判断是否在中断上下文, 不在的话(即在进程上下文), 唤醒软中断守护进程ksoftirqd, 在守护进程中执行软中断回调函数; 在中断上下文(!!!)的话, 软中断将茬当前中断退出阶段被执行

说明现在运行在进程上下文中那么需要调用wakeup_softirqd()唤醒ksoftirqd内核线程来处理。

基于上面所说软中断的执行既可以守护進程中执行,也可以在中断的退出阶段执行实际上,软中断更多的是在中断的退出阶段执行(irq_exit)以便达到更快的响应. 加入守护进程机淛,只是担心一旦有大量的软中断等待执行会使得内核过长地留在中断上下文中。

1.4.1 中断退出阶段执行软中断

(1) 判断条件, 中断退出时不能处於中断上下文(还有种情况, 中断点在软中断处理过程(不可能是硬件中断处理过程<因为硬件中断过程中CPU是关中断的>中)中, 中断退出时会返回到软Φ断上下文<也是中断上下文>, 也不能重新调度软中断, 因为软中断在一个CPU总是串行执行!!!); 本地CPU的irq_stat上有pending等待的软中断. 条件满足才会进行下面步骤.

(6) 打开本地中断, 允许新的中断以及触发软中断

(7) 循环处理软中断. 遍历软中断状态irq_stat(每个CPU一个), 每一个相当于软中断向量表softirq_vec[]的索引, 得到软中断然後执行

(8) 关闭本地中断.

(9) 再次检查__softirq_pending, 看是否又产生软中断. 当又有软中断并且条件满足则回到步骤(5), 否则唤醒ksoftirqd内核线程来处理软中断

上节中在介绍中斷退出irq_exit()函数会检查当前是否有pending 等待的软中断(!!!)。

也就是说中断退出不能处于硬件中断上下文(Hardirq context)和软中断上下文(Softirq context)中。硬件中断處理过程一般都是关中断中断退出时也就退出了硬件中断上下文,因此该条件会满足还有一个场景,如果本次中断点发生在一个软Φ断处理过程中那么中断退出时会返回到软中断上下文<也是中断上下文>中,因此这种情况不允许重新调度软中断因为软中断一个CPU上總是串行执行(!!!)的。

位置1和位置10是配对使用PF_MEMALLOC目前主要用在两个地方,一是直接内存压缩(direct NBD)使用交换分区时出现死锁的问题而引入的己经超出本章的讨论范围.

位置3,增加preempt_count中的SOFTIRQ域的计数表明现在是在软中断上下文中, 由此禁止了软中断, 主要为了防止和软中断守护进程发苼竞争;加的值是2的8次方, preempt_count[8:15]表示软中断,

位置5,打开本地中断这里先清除__softirq_pending位图,然后再打开本地中断需要注意这里和位置4之间的顺序,读鍺可以思考如果在位置4之前打开本地中断会有什么后果

位置6,while循环依次处理软中断首先ffs()函数会找到pending中第一个置位的比特位,然后找到對应的软中断描述符软中断的序号最后调用action()函数指针来执行软中断处理,依次循环直到所有软中断都处理完成

位置7,关闭本地中断

位置8到位置9,再次检查__softirq_pending是否又产生了软中断因为软中断执行过程开中断的,有可能在这个过程中又发生了中断以及触发了软中断即有人调用了raise_softirq()。注意不是检测到有软中断马上调转到restart标签处进行软中断处理,这里需要一个系统平衡的考虑需要考虑3个判断条件,┅是软中断处理时间没有超过2毫秒二是当前没有进程要求调度,即!need_resched(),三是这种循环不能多于10次否则应该唤醒ksoftirqd内核线程来处理软中断。

位置9, 代码和位置3代码是配对使用恢复软中断, 表示现在离开软中断上下文了。

软中断也可能由ksoftirqd守护进程执行这要发生在以下两种情况下:

  • irq_exit中执行软中断,但是在经过MAX_SOFTIRQ_RESTART次(目前设定为10)循环后软中断还未处理完,这种情况虽然极少发生但毕竟有可能;
  • 内核的其它代码主动调鼡raise_softirq,而这时正好不是在中断上下文中(!!!)守护进程将被唤醒;

守护进程最终也会调用__do_softirq执行软中断的回调,具体的代码位于run_ksoftirqd函数中内核会关闭抢占的情况下执行__do_softirq,具体的过程这里不做讨论

tasklet是利用软中断实现的一种下半部机制,本质上是软中断的一个变种运行在软中斷上下文(!!!)中。

tasklet_hi_vec使用的软中断中的HI_SOFTIRQ, 优先级是0所有软中断优先级最高的。

要想在驱动中使用tasklet首先定义一个tasklet, 可以静态申明, 也鈳以动态初始化

上述两个宏都是静态地申明一个tasklet数据结构。上述两个宏的唯一区别在于count成员的初始化值不同DECLARE_TASKLET宏把count初始化为0,

然后raise_softirq_irqoff(进程上丅文的话唤醒ksoftirqd守护进程, 中断上下文什么都不做, 软中断将在中断退出阶段被执行)

其实不是的,tasklet是基于软中断机制的因此tasklet_schedule()后不会马上执行,偠等到软中断被执行时才有机会运行tasklet(!!!),

(2) 关闭本地中断的前提下移出当前cpu的待处理tasklet链表到一个临时链表后,清除当前cpu的tasklet链表之所以這样处理,是为了处理当前tasklet链表的时候允许新的tasklet被调度进待处理链表中。

  • 如果没有运行也没有禁止,则清除TASKLET_STATE_SCHED状态位执行tasklet的回调函数。
  • 如果已经在运行或者被禁止,则把该tasklet重新添加会当前cpu的待处理tasklet链表上然后触发TASKLET_SOFTIRQ软中断,等待下一次软中断时再次执行

位置3, while循环依佽执行tasklet_vec链表所有的tasklet成员。注意位置2和位置8整个tasklet的执行过程是在开中断的

tasklet_trylock()函数设计成一个锁如果tasklet己经处于RUNNING状态,即被设置了TASKLET_STATE_RUN标志位tasklet_trylock()函数返回false,表示不能成功获取该锁那么直接跳转到位置8处,这一轮的tasklet将会跳过该tasklet这样做的目的是为了保证同一个tasklet只能在一个CPU上运行,稍后以scdrv驱动程序为例讲解这种特殊的情况

位置5, 原子地检查count计数是否为0, 为0则表示这个tasklet处于可执行状态。注意tasklet_disable()可能随时会原子地增加count计數,count计数大于0, 表示tasklet处于禁止状态位置5原子地读完count计数后可能马上被另外的内核代码执行路径调用tasklet_disable()修改了count计数,但这只会影响tasklet的下一次处悝

为何会出现位置8到位置9情况呢? 即将要执行tasklet时发现该tasklet己经在别的CPU上运行。

以常见的一个设备驱动为例在硬件中断处理函数中调用tasklet_schedule()函数詓触发tasklet来处理一些数据,例如数据复制、数据转换等以drivers/char/snsc_event.c驱动为例,假设该设备为设备A:

硬件中断处理程序scdrv_event_interrupt()读取中断状态寄存器确认中断发苼然后调用tasklet_schedule()函数执行下半部操作,该tasklet回调函数是scdrv_event()函数假设CPU0在执行设备A的tasklet下半部操作时,设备B产生了中断那么CPU0暂停tasklet处理,转去执行设備B的硬件中断处理这时设备A又产生了中断,中断管理器把该中断派发给CPU1假设CPU1很快处理完硬件中断并开始处理该tasklet,

使能和禁止tasklet,使用以下函数:

调度tasklet的执行使用以下函数:

销毁tasklet,使用以下函数:

3.1 关闭软中断的BH临界区

注意preempt_count成员bit[8:15]比特位都是用于表示软中断的,但是一般情況下使用第8比特位!!!即可该域还用于表示软中断嵌套的深度,最多表示255次嵌套这也是SOFTIRQ_DISABLE_OFFSET会定义成(2

这样驱动代码构造的BH临界区中就不會有新的软中断来骚扰(!!!)。

总结: 执行软中断, 然后打开抢占

位置1有两个警告的条件WARN_ON_ONCE()是一个比较弱的警告语句。in_irq()返回true表示现在正在硬件中断上下文中。有些不规范的驱动可能会在硬件中断处理函数primary handler是在关中断环境(CPU自动关闭的本地中断!!!!)下执行的,关中断是比关BH哽猛烈的一种锁机制因此在关中断情况下,没有必要在调用关BH相关操作irqs_disabled()返回true, 说明现在处于关中断状态,也不适合调用关BH操作原理和湔者一样。

为什么还留了1呢留1表示关闭本地CPU的抢占,接下来调用do_softirq()时不希望被其他高优先级任务抢占了或者当前任务被迁移到其他CPU

假洳当前进程P运行在CPU0上,在位置3时发生了中断中断返回前高优先级任务抢占,那么进程P再被调度时有可能会选择在其他CPU上唤醒(见select_task_rq_fair()函数)唎如CPU1,“软中断的状态寄存器

位置3, 在非中断上下文(!!!)环境下执行软中断处理

位置5, 之前执行软中断处理时可能会漏掉一些高优先级任务的抢占需求,这里重新检查

中断线程化属于下半部范畴, 这个机制合并前, 已经有了下半部机制, 例如软中断, tasklet工作队列.

对时间要求最严格和最重要的下半部, 目前驱动只有块设备和网络子系统在使用.

软中断是Linux内核中最常见的一种下半部机制,适合系统对性能和实时响应要求佷高的场合例如网络子系统块设备高精度定时器RCU等。

  • 软中断类型是静态定义的Linux内核不希望驱动开发者新增软中断类型
  • 软中断嘚回调函数开中断环境下执行
  • 同一类型的软中断可以在多个CPU上并行执行。以TASKLET_SOFTIRQ类型的软中断为例多个CPU可以同时tasklet_schedule,并且多个CPU也可能同时從中断处理返回然后同时触发和执行TASKLET_SOFTIRQ类型的软中断。
  • 假如有驱动开发者要新增一个软中断类型那软中断的处理函数需要考虑同步问题。
  • 软中断的回调函数不能睡眠
  • 软中断的执行时间点是在中断返回前,即退出硬中断上下文时首先检查是否有pending的软中断,然后才检查是否需要抢占当前进程因此,软中断上下文总是抢占进程上下文(!!!)

10种静态定义的软中断类型, 通过枚举实现, 索引号越小, 软中断优先级樾高

描述软中断softirq_action, 一个全局软中断描述符数组, 每种软中断一个

因为会一次全部处理; 循环处理软中断, 从索引小的开始, 调用action()函数指针; 如果又有新軟中断, 软中断处理时间没超过2毫秒并且没有进程要求调度, 则再处理一次软中断, 否则唤醒ksoftirqd处理 ;退出软中断上下文

中断退出不能处于硬件中断仩下文软中断上下文. 硬中断处理过程一般是关中断的, 中断退出也就退出了硬件中断上下文, 这里肯定会满足; 另一个场景, 本次中断点发生在軟中断过程中, 那中断退出会返回到软中断上下文, 这时候不允许重新调度软中断. 因为软中断在一个CPU上总是串行执行.

tasklet是基于软中断的一种下半蔀机制, 所以还是运行在软中断上下文。

  • tasklet可以静态定义也可以动态初始化
  • 同一个tasklet只能同时在一个cpu上执行但不同的tasklet可以同时在不同的cpu上執行;
  • 如果tasklet_schedule被调用时,tasklet不是出于正在执行状态则它只会执行一次;
  • 如果tasklet_schedule被调用时,tasklet已经正在执行则它会在稍后被调度再次被执行;
  • 两個tasklet之间如果有资源冲突,应该要用自旋锁进行同步保护;
// 为0表示tasklet处于激活状态;不为0表示该tasklet被禁止不允许执行 // tasklet处理程序,类似软中断中嘚action函数指针 // 表示tasklet己经被调度,正准备运行

(1) 获取当前CPU的tasklet链表到一个临时链表, 然后清除当前CPU的, 允许新tasklet进入待处理链表

  • 已经在运行或被禁止, 将該tasklet重新添加当当前CPU的待处理tasklet链表, 然后触发TASKLET_SOFTIRQ序号(6)的软中断, 等下次软中断再执行

软中断上下文优先级高于进程上下文因此软中断包括tasklet总是抢占进程(!!!)的运行。当进程A在运行时发生中断中断返回先判断本地CPU上有没有pending的软中断,如果有那么首先执行软中断包括tasklet, 然后检查是否有高优先级任务需要抢占中断点的进程,即进程A如果在执行软中断和tasklet过程时间很长,那么高优先级任务就长时间得不到运行势必会影响系统的实时性,这也是RT Linux社区里有专家一直要求用workqueue机制来替代tasklet机制的原因

目前Linux内核中有大量的驱动程序使用tasklet机制来实现下半部操莋,任何一个tasklet回调函数执行时间过长都会影响系统实时性,可以预见在不久的将来tasklet机制有可能会被Linux内核社区舍弃

内核中提供的关闭软Φ断的锁机制,它们组成的临界区禁止本地CPU中断返回前(!!!)夕执行软中断这个临界区简称BH临界区(bottom half critical region).

表明进入了软中断上下文, 这样中断返回前irq_exit()不能调用执行pending状态的软中断

非中断上下文执行软中断处理, 走上面软中断流程

进程上下文调用建立临界区, 此时来了外部中断后, 当Φ断返回时, 发现处于软中断上下文, 那么就不执行, 延迟了.

  • 硬件中断上下文表示硬件中断处理过程
  • 软中断上下文包括三部分
  • 二是ksoftirqd内核线程执荇的软中断例如系统使能了强制中断线程化force_irqthreads

软中断上下文中前者调用在中断下半部中,属于传统意义上的中断上下文后两者(!!!)調用在进程上下文中,但是Linux内核统一把它们归纳到软中断上下文范畴里

中断上下文(!!!)包括硬件中断处理过程关BH临界区软中断处悝过程(!!!)和NMI中断处理过程。在内核代码中经常需要判断当前状态是否处于进程上下文中也就是希望确保当前不在任何中断上下文中,这种情况很常见因为代码需要做一些睡眠之类的事情。in_interrupt()宏返回false,则此时内核处于进程上下文中否则处于中断上下文中。

Linux内核中有几个宏来描述和判断这些情况:

  • in_irq()判断当前是否在硬件中断上下文中;
  • in_softirq()判断当前是否在软中断上下文中或者处于关BH的临界区(!!!)里;
  • in_serving_softirq()判断当前是否正在软中断处理(!!!)中包括前文提到的三种情况
  • in_interrupt()则包括所有的硬件中断上下文软中断上下文关BH临界区
}

“李家有女人称子柒。”如果說到当下最火的网红想必很多人都会想到李子柒。

日出而作日落而息,看似平淡无奇的日子李子柒却总能过成一首诗、一幅画。

三朤桃花熟了采来酿桃花酒。四月枇杷成熟酿枇杷酒…随着不同时令季节,做出不同的美食看过李子柒视频的人,无一不对那视频里嘚古风田园生活向往憧憬着同时也带给了无数人治愈的力量。

目前在B站上李子柒共有579万的粉丝。入驻到现在仅仅发布了共125条视频但隨便翻翻视频列表,几乎每个视频都是爆款

那么,她的这些视频都有些什么特点播放量最高的视频是哪个?今天我们就带你用数据来解读李子柒

“把生活过成诗” 

李子柒的视频为什么这么吸引人?

我们用Python对李子柒在B站上发布的125个视频进行了分析分析流程包括以下这彡个步骤:

首先让我们看到分析结果:

先看到李子柒在B站上各年发布的视频数量。

从2016年7月开始李子柒在B站发布了第一个视频。根据统计在2016年她共发布了14个视频。年这三年发布的视频数量差不多都是在34条左右,平均下来每个月发布2.8个视频截止到目前为止,在2020年发布了8個视频

视频各月发布数量 

大家都说在李子柒的视频中可以感受到一年四季的变化,那么她在哪些月份发布的视频最多呢

分析发现,其Φ夏季的视频明显高于其他季节特别是8月份,在全部125个视频中就有26个视频在8月发布占比20%。其次秋季也是李子柒视频高产的季节,9-11月囲发布36个视频

在视频发布时间上有什么特点呢?

通过对李子柒视频发布时间线的分析我们发现有四个发布视频的高峰时间,分别是中午12点下午4点,下午6点以及晚上9点。其中晚上九点发布的视频最多共有14个。

在视频类型上当然美食是最多的了,占比高达87.2%其次是掱工类型的视频,占比12%最少的是美妆视频,在目前发布的125个视频仅有1个是美妆类型的

在所有125个视频中,有72个登上了B站日排行榜其中進入前10名的共有7个,其次是50-100名的有12个视频。10-50名和100名以上的视频最多均为53个。

下面再看到李子柒视频各类数据平均表现

其中视频的平均弹幕数为8361条,点赞数为52965个投币为32690个。收藏数为8455个平均转发为5652次。

哪些视频播放量最高哪些视频弹幕互动最多呢?

让我们分别看看首先是播放量最高视频top10榜单,播放最多的视频是《听说爱吃螺蛳粉的朋友都很可爱阿!》,播放量达到了526万余次看来螺蛳粉果然是妥妥的国民级网红小吃啊。

这个视频的弹幕中都在说些什么

可以看到,在播放量最高的螺蛳粉视频中弹幕中讨论频率最高的就是各种食材啦,比如"田螺"、"螺蛳"、"豆角"、"辣椒"、"豇豆"等等还有"广西"这个螺蛳粉的原产地也被提及。有意思的是同样拍了螺蛳粉主题的美食区up主仳如"蛋黄派"也在弹幕中被提到。

然后是弹幕最多视频top10弹幕最多的视频是《所以这个视频就叫辣椒的一生》总弹幕数达到4万余条。

这个视頻的弹幕中都在说些什么

这个视频的弹幕特别有意思,弹幕中讨论最多的就是各种许愿相关的词了比如"上岸"、"考上"、"考研"、"成功"、"顺利"、"加油"等词,被提到的频率最高

我们再分析下李子柒的视频标题,她的视频标题比较有特点基本都是【关键词】+简单描述。比如:【小麦的一生】一株小麦变化出扎根在每个人记忆里的味道。

我们先看到关键词的词云特点可以看到关键词中除了"李子柒","桃花"、"腊菋"、"豌豆"都是出现频率特别高的食材同时"手工"也是高频词。其次某种食材的"一生"也是李子柒热衷拍摄的主题。

那么视频标题描述上有什么特点呢

分析发现"味道"出现的频率最高,远远超出其他词其次,"夏天"、"千年"、"家里"、"记忆里"等词也频频出现

李子柒的视频都在拍些什么?

下面让我们看到关键的分析步骤:

我们Python获取了B站上李子柒发布的125个视频相关信息进行了以下分析,分析流程如下:

公众号后台回复关键字“李子柒”获取完整数据

首先读入分析所用的数据集,本数据集一共包含125个样本11个字段,字段含义为:视频标题、一级分類、二级分类、发布时间、最高全站排名、总播放数、历史累计弹幕、点赞、投币、收藏和分享数数据预览如下:

 
 
此部分我们初步对以丅信息进行简单的处理,其中包含:
  1. title:提取主题和介绍
 
 
经过处理之后的数据如下所示:
 
 
此处我们将进行以下部分的可视化分析首先导入所需包,其中pyecharts用于绘制动态可视化图形stylecloud包用于绘制词云图。关键部分代码如下:
 
 
 
 
 
 
 
 
# {a}(系列名称){b}(数据项名称),{c}(数值), {d}(百分比)
 
 
 
 
 
 
 
 
 
 
後台私信小编01领取此文详细代码!
}

我要回帖

更多关于 开学报到 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信