清爽巨人

文章
3
资源
0
加入时间
3年0月21天

面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!

由于现在大多计算机都是多核CPU,多线程往往会比单线程更快,更能够提高并发,但提高并发并不意味着启动更多的线程来执行。更多的线程意味着线程创建销毁开销加大、上下文非常频繁,你的程序反而不能支持更高的TPS。时间片多任务系统往往需要同时执行多道作业。作业数往往大于机器的CPU数,然而一颗CPU同时只能执行一项任务,如何让用户感觉这些任务正在同时进行呢? 操作系统的设计者 巧妙地利用了时间片轮转的方式时间片是CPU分配给各个任务(线程)的时间!思考:单核CPU为何也支持多线程呢?线程上下文是指某一

删除列表中某些数据,如何用循环做到删准确

场景:给出一个列表li = [1,2,3,4,6,5,8,12], 如何剔除掉列表中的偶数?第一种方法:找出要保留的元素,放到临时列表中,再将临时列表赋值给原来的列表。优点:简单,不易错缺点:多一个临时列表,代码量增多,占用内存空间li = [1,2,3,4,6,5,8,12]temp = [] # 临时列表for i in li: if i % 2 != 0: temp.append(i)li = tempprint(li)结果为[1, 3,