一、goroutine goroutine就是Go语言提供的一种用户态线程。Go自己实现了goroutine的调度器(Scheduler),Go的调度器由三部分组成: M:指的是Machine,一个M直接关联了一个内核线程。 P:指的processer,代表M所需的上下文环境,也是处理用户级代码逻辑 ...
分类:
编程语言 时间:
2019-09-24 10:30:29
阅读次数:
87
转自:http://blog.chinaunix.net/uid-20768928-id-5077401.html 在LINUX RS485的使用过程中,由于各种原因,最后不得不使用中断底半部机制的方法来进行实现此功能。先讲两个小故事来描述一下,遇到的问题。也是因为自己对底半部机制理解得不透彻。这些 ...
分类:
系统相关 时间:
2019-09-10 17:57:33
阅读次数:
150
pthread_join 等待一个特定线程的退出 进程控制块分为调度信息和现场信息 进程标识符 进程当前状态 代码段指针 进程从运行——>就绪的原因可能是:1.被调度程序抢占处理机 2.进程完成创建 3.时间片用完 非抢占式能引起新的进程调度是:1.正在执行的进程运行完毕 正在执行的进程调用阻塞原语 ...
分类:
编程语言 时间:
2019-09-04 09:33:09
阅读次数:
113
1、进程为线程的入口,线程不可独立执行,必须依附在线程上,线程为cpu调度的最小单位 2、线程分为内核线程和用户线程,内核线程由操作系统创建和销毁,用户线程为在用户进程中实现的线程,不需要内核线程的支持 3、每个线程有自己的cpu寄存器,保存了上一次运行线程时候的寄存器上下文 4、线程共享一个进程的 ...
分类:
编程语言 时间:
2019-08-08 23:44:41
阅读次数:
106
passive有何用? 正如标题所言,passive就是为了让浏览器的页面滚动起来更加丝滑,飞一般的感觉~ passive怎么用 看完还是不懂,不着急,看下述慢慢道来 passive的前世今生 对于addEventListener(),大家都是认识的,为dom添加触发事件 ...
分类:
其他好文 时间:
2019-08-07 22:41:34
阅读次数:
114
vmstat 1 5 表示每隔一秒采集5次。 Procs r: 处于运行队列中的内核线程数目(进程数)。 b: 置于等待队列(等待资源、等待输入/输出)的内核线程数目。 处于block队列中不可中断的进程数 Memory swpd: 可用的虚拟交换内存 free:空闲内存 buff: 已用缓冲数目 ... ...
分类:
其他好文 时间:
2019-06-23 20:46:55
阅读次数:
96
Java线程与Linux内核线程的映射关系 Java线程与Linux内核线程的映射关系Linux从内核2.6开始使用NPTL (Native POSIX Thread Library)支持,但这时线程本质上还轻量级进程。 Java里的线程是由JVM来管理的,它如何对应到操作系统的线程是由JVM的实现 ...
分类:
编程语言 时间:
2019-06-16 11:29:27
阅读次数:
141
原文:https://www.cnblogs.com/zhaoyl/p/3620204.html 首先从OS设计原理上阐明三种线程:内核线程、轻量级进程、用户线程 内核线程 内核线程就是内核的分身,一个分身可以处理一件特定事情。这在处理异步事件如异步IO时特别有用。内核线程的使用是廉价的,唯一使用的 ...
分类:
编程语言 时间:
2019-06-16 11:19:16
阅读次数:
88
JAVA线程实现的三种方式: 1. 使用内核线程(Kernel-Level Thread,KLT) 由内核来完成线程切换,内核通过操纵调度器(Scheduler)对线程进行调度,并负责将线程的任务映射到各个处理器上。 轻量级进程(Light Weight Process,LWP):内核线程的一种高级 ...
分类:
编程语言 时间:
2019-05-16 12:31:02
阅读次数:
154
关于linux哪些能调用schedule或者等待事件的问题对同步问题,需要注意:1)不能调用schedule的情况(wait_event、sleep等,等待函数内部会调用schedule):(1)中断、(2)软中断、(3)tasklet、(4)timer(基于软中断实现)、(5)hrtimer(软中断或硬中断环境下执行)执行环境下、(6)或者“内核线程、普通线程内核态环境下调用了preempt_d
分类:
系统相关 时间:
2019-03-24 00:29:54
阅读次数:
265