VC++(十六)线程同步与异步套接字编程

  • 事件对象也属于内核对象,分为两种:
    人工重置的事件对象和自动重置的事件对象。

当人工重置的事件对象得到通知时,等待该事件对象的所有线程均变为可调度线程。当一个自动重置的事件对象得到通知时,等待该事件对象的线程中只有一个线程变为可调度线程,同时操作系统会将该事件对象设置为无信号状态,这样,当对所保护的代码执行完后,需要调用setevent函数将该事件对象设置为有信号状态。而人工重置的事件对象,在一个线程得到该事件对象之后,操作系统并不会将该事件对象设置为无信号状态,除非显式的调用resetevent函数将其置为无信号状态,否则该对象一直为有信号状态。

  • 关键代码段,也称为临界区,工作在用户方式下。它是指一个小代码段,在代码能够执行前,它必须独占对某些资源的访问权。

  • gethostbyname 函数从主机数据库中获取主机名相对应的IP地址,该函数只有一个参数,是一个指向空终止的字符串。

你可能感兴趣的:(VC++(十六)线程同步与异步套接字编程)