Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6904175
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T08:01:11+00:00 2026-05-27T08:01:11+00:00

In computer networking – and in a lot of other fields actually – I

  • 0

In computer networking – and in a lot of other fields actually – I hear a lot of reference to the terms “blocking”, “non-blocking”, “synchronous”, and “asynchronous”. I was wondering if anyone could explain in pretty straightforward/simple terms what these are supposed to mean?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T08:01:12+00:00Added an answer on May 27, 2026 at 8:01 am

    A “blocking” call “blocks” the program that calls it until it completes. Your program has to wait for it to do (whatever) before the next statement runs. Most function calls are “blocking,” for example, set x to 4 + 4 will not go on to the next statement until it computes the value of 8 and assigns it to x. Likewise, a blocking or synchronous network method will hold up the calling program until it completes. In the case of something like “send a packet to a remote system,” this time may be measurable in seconds, or longer, instead of the microseconds (or less) that arithmetic consumes.

    A “non-blocking” or asynchronous method usually, instead, either deposits its results in a “mailbox” or “queue” of some kind, or (more commonly) will call back a function that you provide when it completes. This is often/usually better for a program that does anything else (for example, displaying a user interface) while it’s waiting on a relatively slow network process to complete.

    When accessing relatively fast local services, like local disc I/O, inter-process communications on one computer, or sending output to a local display, blocking I/O is sometimes preferred because it’s easier to write.

    Example of blocking network I/O:

    set web-page to (the result of) get url "http://www.google.com/"
    in web-page, find <title>...</title>,
         assign this to google-title;
    if not found,
         present a warning, and
         set google-title to "Google"
    do something else…
    

    versus:

    get url "http://www.google.com/" and call back google-title-callback
    do something else…
    
    function google-title-callback, accepts web-page:
        in web-page, find <title>...</title>,
             assign this to google-title;
        if not found,
             present a warning, and
             set google-title to "Google"
    

    Asynchronous I/O is almost always used at the application level for GUI programming, as well. For example, a terminal (stream)-based program might be synchronous awaiting for user input, while a GUI program might be asynchronous, allowing you to randomly choose various controls or perform other actions (like resizing a window) that require it to accept messages of various times through either callback methods or event handlers, which more-or-less amount to the same type of thing as the network callback example, above.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am learning Computer Networking this semester, on which I find it quite interesting
I took Computer Networking last semester and did some C programming in linux (using
I am new to the topic of computer networking and sending data to one
is there any quick guide to understand basic concept of computer networking like layers
my computer's IP is 192.168.1.101 over eth0. I want to know what are other
In the text book Computer Networking James F.Kurose Fifth Ed, ch4 mentioned the ip
On computer A I created 2 ssh keys, public and private. The public key
On Computer A (my computer), I have a Perl script that accesses a file
The computer is connected to measuring device via a physical COM1. I have simple
While computer programming evangelists predicting the future of Cloud Computing to be very bright,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.