问题:setTimeout的延迟事件,是从什么时候开始算起的? 答: 首先你要明白Javascript是单线程,单线程就意味着所有任务需要排队。然后会将所有任务分成两类:同步任务和异步任务!同步任务:在主线程上执行的任务,只有前一个任务执行完成,才会执行后一个!异步任务:不进入主线程、而进入“任务队 ...
分类:
Web程序 时间:
2019-01-18 13:30:39
阅读次数:
171
单纯这样写,在运行的时候会抛出android.os.NetworkOnMainThreadException异常,字面意思是主线程的网络异常 经查询后,一个APP如果在主线程中请求网络操作,将会抛出此异常。Android这个设计是为了防止网络请求时间过长而导致界面假死的情况发生。 所以我们让他在子线 ...
分类:
其他好文 时间:
2019-01-17 10:54:36
阅读次数:
472
通常情况下,一个线程执行完一个任务,就会退出并销毁。等到需要处理下一个任务时,又得重新创建一个线程。但是很多时候,这并不是我们想要的结果。例如, 1、当任务小而多时,频繁地创建和销毁线程,会带来不小的代价。 2、iOS/OSX应用的主线程要是退出了,整个应用就挂了。 因此,需要一种能让线程不退出的机 ...
分类:
其他好文 时间:
2019-01-15 20:32:04
阅读次数:
215
进程: 一些资源的集合。 一个进程里面最少有一个线程,主线程。 线程: 程序执行的最小单位。 电脑CPU有几个核心,就同时只能运行几个任务。 #上下文切换 全局解释器锁,GIL。 锁 多个线程同时去操作同一个数据的时候,可能会导致数据不正确。 要把这个数据机上锁,这样同时就只能有一个线程在操作这个数 ...
分类:
编程语言 时间:
2019-01-15 20:30:33
阅读次数:
180
委托模型,即有一个BOSS线程,就是主线程,产生woker线程,boss线程和worker线程并发执行。BOSS线程的主要任务是创建worker线程,将工作线程放入队列中,当有工作可处理时,唤醒工作线程。/Createanewthread,startingwithexecutionofSTART-ROUTINEgettingpassedARG.CreationattributedcomefromA
分类:
其他好文 时间:
2019-01-15 15:47:01
阅读次数:
179
1.协程 基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态 cpu正在运行一个任务,会在两种情况下切走去执行其他的任务(切换由操作系统强制控制),一种情况是该任务发生了阻塞,另外一种情况是该任务计算的时间过长或有一个 ...
分类:
编程语言 时间:
2019-01-14 22:00:17
阅读次数:
221
线程的其他方法: threading.current_thread() #当前线程对象 getName() # 获取线程名 ident # 获取线程id threading.enumerate() # 当前正在运行的线程对象的一个列表 threading.active_count() # 当前正在运 ...
分类:
编程语言 时间:
2019-01-14 21:35:35
阅读次数:
174
CountDownLatch简介 CountDownLatch是一种java.util.concurrent包下一个同步工具类,它允许一个或多个线程等待直到在其他线程操作执行完成。 使用场景: 在开发过程中,经常会遇到需要在主线程中开启多条线程去并行执行任务,并且主线程需要等待所有子线程执行完毕后再 ...
分类:
其他好文 时间:
2019-01-14 20:08:55
阅读次数:
184
一个生产环境,nginx占用cpu很高。 top跟进去单个线程,发现是主线程很高: gdb跟踪一下,发现大量的epoll_wait返回,中间没有任何系统调用: 查看堆栈, epoll_wait在返回有active的fd的时候,我们并没有去调用recv或者recvfrom,走查代码: 发现 wev-> ...
分类:
其他好文 时间:
2019-01-14 10:53:24
阅读次数:
340
For project reason I have to measure the performance of OData service being accessed parallelly. And I plan to use the open source tool JMeter to gene ...
分类:
其他好文 时间:
2019-01-13 13:01:21
阅读次数:
241