随笔分类 -  多线程、并发

摘要:前要:一般的执行器会为每个任务单独创建线程,起码是分配单独的线程,即每个任务有其自己的线程。这样可以让任务并发执行。 问题:既然这样,为什么只用一个线程处理多个任务呢? 如果是这样,那一个线程某一时刻只处理一个任务。这样有什么好处呢?我们有讲到过,线程难就难在协调不同线程驱动的任务之间对内存和IO资 阅读全文
posted @ 2018-08-15 20:54 猫毛·波拿巴 阅读(2762) 评论(2) 推荐(0) 编辑
摘要:概念 所谓后台线程,是指在程序运行的时候在后台提供一种通用服务的线程,并且这种线程并不属于程序中不可或缺的部分。因此,当所有的非后台线程结束时,程序也就终止了,同时会杀死进程中的所有后台线程。反过来说,只要有任何非后台线程还在运行,程序就不会终止。比如,执行main()的就是一个非后台线程。——《J 阅读全文
posted @ 2018-08-15 20:47 猫毛·波拿巴 阅读(983) 评论(0) 推荐(1) 编辑
摘要:一个线程X可以在其他线程Y之上调用join()方法,其效果是X等待一段时间直到第二个线程Y结束才继续执行。如果某个线程在另一个线程t上调用t.join(),此线程将被挂起,直到目标线程t结束才恢复。 也可以在调用join()时带上一个超时参数(单位可以是毫秒,或者毫秒和纳秒),这样如果目标线程在这段 阅读全文
posted @ 2018-08-15 20:44 猫毛·波拿巴 阅读(313) 评论(0) 推荐(0) 编辑
摘要:概要:并发通常是提高运行在单处理器上的程序的性能。 “上面这句话听起来可能会违背直觉。如果你仔细考虑一下就会发现,在单处理器上运行的并发程序开销确实应该比该程序的所有部分都顺序执行的开销大,因为其中增加了上下文切换的代价(从一个任务切换到另一个任务)。表面上看,将程序的所有部分当作单个的任务运行好像 阅读全文
posted @ 2018-08-09 14:21 猫毛·波拿巴 阅读(694) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示