发布网友 发布时间:2022-03-22 03:14
共2个回答
热心网友 时间:2022-03-22 04:44
网络编程中,同步的意思是说,进行收发数据,等到数据真正发送出去或者接受到,才返回;而异步的意思是,可以把数据发送到缓冲区立即返回,而发送成功的消息是通过事件通知的。异步可以腾出更多的CPU来处理其他事情,所以异步的方式比较灵活。 线程同步是指,多个线程协同完成一件工作,一个线程需要等待其他线程完成相关的工作,才能接着往下运行。线程同步一般采用互斥体,信号量,消息等方式。
热心网友 时间:2022-03-22 06:02
同步就是:(1)线程之间可能进行通信,一个线程需要等待另一个线程实现某种功能后,才能接着往下运行。这就需要线程等待。(2)如果多个线程都有对某个资源的访问权限,并且每个线程都要独占地对资源进行访问,那么其他线程就需要等待,直到该进程释放该资源。异步:线程之间是的,不需要相互通信和对资源的共同访问。例如:主线程中调用子线程后,如果不需要子线程的返回值,就可以继续往下执行,等运行时间片完毕后,子线程执行。这样主线程和子线程交替运行,不存在等待的问题。 并不是异步比同步功能更强大,这个要从各方面考虑,如多个线程对资源的共同访问,就需要同步。建议看《Windows核心编程》。讲同步、异步方面很好。