线程【一】基础知识

线程调度宏观并行,微观串行(默认为单核)!

 

系统中同时存在很多线程,有系统线程,也有自己进程和其它进程的线程,都是由系统统一调度,当某个线程获得CPU时间片后才会真正执行。程序在创建线程后,如果没有执行Sleep、Wait等函数主动放弃时间片(多长时间内不参与时间片竞争),则该线程会继续执行,所以对于单核系统,可以说线程创建后不是立即开始执行的,对于多核系统,则有可能同一进程的多个线程在不同的处理器上同时执行。

 

个人认为其处理过程如下:
这极其类似于钟表结构(单核):
以CPU为中心,系统有多少个可调度线程,那么它们就是钟表上的一个刻度,当秒针移动到某刻度上,并且做短暂停留时,该刻度(线程)就有执行的机会(如果线程用sleep后,将被cpu视为主动放弃该时间片),由于时间是有限的,当时间片到期后,线程会保存其上下文状态,这时秒针继续向下移动,直到走完一周为止。

Sleep的意思是在CPU分配给某些线程(注意:某些线程是指可调度的线程)一定的时间片后,该线程主动放弃某一数量的时间片,Sleep(0)则为调用线程将释放剩余的时间片,并迫使系统调度另一个线程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值