并发编程之线程的中止
万事万物有始就有终,当我们新启了一个线程后,线程自然也有结束的那一刻。一般来说,线程如果是run方法执行完成了,或者是抛出了一个未处理的异常导致线程提前结束,我们都称为线程的自然终止。对于我们来说,如何才能安全自行中止我们的线程呢?
1、一定要把基本的数据结构,经典的算法,Unix编程,程序编译链接及计算机原理等基础知识扎牢,这些会长远影响你的职业发展。
2、 推荐从C语言入门,不单是因为很多操作系统、网络协议栈开源代码由C/C++实现,更多是因为C语言自身的特性:作为高级语言用户无需关注底层细节,同时能直观的看到数据流向。而且C相对语法规则较为简单,可以短时间的上手应用。最重要的是,遵循C/C++、python的学习方式,比直接学习python更能清晰的知道自己程序的内存等性能状况。
3、 不要过于追求第一份工作的工资,甚至可以说不要过于看重前两年的工资(虽然我工作也没满五年,这里的意思是,前两年不要因为多出来的一两千月薪转换自己的行业),也不需要过于学习如何投资股票理财(但是要有基本的风险意识),身边很多三十多岁才开始理财的人同样实现了财富自由。而是要扎扎实实做几个完整的项目,学习好基础原理,同时琢磨业务流程。当然大厂会有很多流程性的杂事,如何尽快处理不要过于消耗自己的宝贵时间,这个就是另一门学问了。
4、 胆子要大,要多发出自己的声音。很多职场新人在项目讨论的时候会担心自己技术深度不足,提出的观点比较浅薄,这个是不对的。说得不好听,我们都是来打工的,赚钱才是王道,面子是最不重要的。只有多表达自己对业务的思考才能展现自己的价值,很多时候跟人探讨自己的想法能及快速的更新自己的知识储备。
5、 答主机械工程出身,再说说机械(包括电气)工程如何转行进入互联网公司。看情况,如果是本科,极力建议跨考电气工程,因为很多基础课程像数电模电、电工学、高等数学等重要课程两个学科都有学习,考研难度相对较小。如果是机械的硕士,那么建议先把算法与数据结构全部学习一遍,不一定非要找创业互联网公司的实习,进去一两个月学不到完整的项目开发流程。尽量加入一个学校内部的团队完成一个项目,像华为每年都会在各大高校设置编程大赛等,这些可以让你全方位的了解进入软件行业必备哪些技能。对于已经工作的老铁,像我就是毕业入职后转行的,这里给一下我的学习过程仅供参考。尽快入门C语言,利用下班时间刷题把上面链接提供的算法与数据结构等书完整的自己敲一遍代码。然后选择热门的嵌入式操作系统如freertos熟读源码理清嵌入式系统内部任务调度、内存管理、任务通信机制等基本原理,动手移植一款热门芯片如stm32f429,把tick跑起来,任务调度起来就OK了。为什么选热门芯片,因为各种坑前任都踩过,论坛咨询问题相当容易。然后就可以上手UNIX环境高级编程这本圣经了。一般而言,学完嵌入式系统,再学linux系统的进程通信、虚拟化等,你会发现比直接学习Linux要容易上手很多。对unix系统调用有了基本了解之后进行Linux应用开发基本难度不大了,如果有公司业务结合练手那是最好的。接下来就看自己的发展方向了,如果想在物联网深入发展,可以移植一下A核,对中断处理会有更深刻的理解。如果想从事网络或者后台开发,可以多熟悉网络协议栈,这里推荐lwip入门,里面给出了TCP、UDP协议规范的完整代码实现,对理解tcp慢启动、拥塞控制、socket编程帮助相当大。
6、 不要急于挑选产品经理等管理类岗位,只有多跟几个大型项目,多玩几个迭代,才能对大厂的项目落地流程玩法了然如胸,才能跟各种老油条码农供应商扯皮。对需求理解不清,分分钟被老员工玩死。
7、 也是一句题外话,前面几年虽然工资不多,但是一定要养成存钱的良好习惯。当你身无分文来到深圳,住着900的农民房,吃着广东烧腊,再看看关外五六万的房价,你就知道深圳的生存有多么艰难。唯有努力才是解决社会问题的基础,如人饮水冷暖自知,很多事情只有自己经历了各中酸楚才知道。
文末
当你打算跳槽的时候,应该把“跳槽成功后,我能学到什么东西?对我的未来发展有什么好处”放在第一位。这些东西才是真正引导你的关键。在跳槽之前尽量“物尽其用”,把手头上的工作做好,最好是完成了某个项目或是得到提升之后再走。跳槽不是目的,而是为了达到最终职业目标的手段
最后祝大家工作升职加薪,面试拿到心仪Offer.
为此我在文末整理了一些关于移动开发者需要的资料,欢迎大家免费领取
领取方式:点击我的GitHub


img-NM9E0djV-1608802587404)]
本文分享了程序员如何安全终止线程,并探讨了职业发展建议,包括扎实基础、选择学习路径、重视项目经验、勇于表达观点、跨行业转行的策略以及跳槽注意事项。同时,强调了在经济独立和积累经验的重要性。
2034

被折叠的 条评论
为什么被折叠?



