Why are Asynchronous processes not called Synchron

2020-02-08 11:08发布

So I'm a little confused by this terminology.

Everyone refers to "Asynchronous" computing as running different processes on seperate threads, which gives the illusion that these processes are running at the same time.

This is not the definition of the word asynchronous.

a⋅syn⋅chro⋅nous
–adjective 
1. not occurring at the same time. 
2. (of a computer or other electrical machine) having each operation started only after the preceding operation is completed. 

What am I not understanding here?

9条回答
爱情/是我丢掉的垃圾
2楼-- · 2020-02-08 11:56

I think there's a slant that is slightly different to most of the answers here.

Asynchronous means "not happening at the same time".

In the specific case of threading:

  • Synchronous means "execute this code now".
  • Asynchronous means "enqueue this work on a different thread that will be executed at some indeterminate time in the future"

This usually allows you to "do two things at once" because of reasons like:

  • one thread is just waiting (e.g. for data to arrive on a serial port) so is asleep
  • You have multiple processors, so the two threads can run concurrently.

However, even with 128 processor cores, the case is the same: the work will be executed "at some time in the future" (if perhaps the very near future) rather than "now".

查看更多
Fickle 薄情
3楼-- · 2020-02-08 11:57

It's like: Flammable, Inflammable ( which mean the same thing )

Seriously -- it's just one of those quirks of the English language. It doesn't really make sense. You can try to explain it, but it would be just as easy to justify the reverse meanings.

查看更多
小情绪 Triste *
4楼-- · 2020-02-08 11:59

It means that the two threads are not running in sync, that is, they are not both running on the same timeline.

I think it's a case of computer scientists being too clever about their use of words.

Synchronisation, in this context, would suggest that both threads start and end at the same time. Asynchrony in this sense, means both threads are free to start, execute and end as they require.

查看更多
登录 后发表回答