阻塞和非阻塞是什么意思?底层原理是什么?
指导
2023-03-16 22:59:56阅读人数:2848

阻塞和非阻塞是计算机编程中常用的术语,用于描述程序在等待某个操作完成时的行为。


阻塞指的是当一个线程请求某个操作(如读取文件或者发送网络请求)时,如果该操作不能立即完成,线程将会被阻塞,即停止运行,等待操作完成后再继续执行。在此期间,线程会一直占用CPU资源,无法执行其他任务。


非阻塞则指的是当一个线程请求某个操作时,如果该操作不能立即完成,线程不会被阻塞,而是立即返回,并继续执行其他任务。同时,线程会周期性地检查该操作是否完成,直到完成为止。


底层原理取决于具体的操作系统和编程语言实现。在底层,阻塞和非阻塞的实现通常涉及到系统调用(system call)和中断(interrupt)。在一个阻塞的系统调用中,操作系统将会阻塞当前线程,直到该操作完成。而在非阻塞的系统调用中,操作系统会立即返回,告诉程序该操作还没有完成,并让程序继续执行其他任务。程序可以使用轮询或者回调的方式来实现非阻塞的操作,以周期性地检查该操作是否完成。


推荐阅读:
* 老人与海 > Chapter 5
*【周易】节卦
*【本草纲目】草部·延胡索
*【南史】列传·卷三十五
*【自考】全国2008年1月高等教育自学考试广告学(二)试题
*【周易】咸卦原文
*【资治通鉴】唐纪·唐纪五十一
*【本草纲目】木部·枸骨
*【旧唐书】志·卷十六
*【旧唐书】列传·卷一百二十六
*【国语】越语·范蠡劝勾践无蚤图吴原文
*【针灸大成】卷八·汗门
*【目标管理预算模式】
*【西蒙的决策组织理论】
*【等薪族】
*mysqlreport是干什么的?底层原理是什么?
请输入昵称:

请输入评论内容: