zoukankan      html  css  js  c++  java
  • Windows 和 Linux 的IPC API对应表

    原文出处:http://blog.csdn.net/zhengdy/article/details/5485472

                                                 Windows 和 Linux 的IPC API对应表

    Table 1. Process mapping
    WindowsLinuxClassification
    CreateProcess()
    CreateProcessAsUser()
    fork()
    setuid()
    exec()
    Mappable
    TerminateProcess() kill() Mappable
    SetThreadpriority()
    GetThreadPriority()
    Setpriority()
    GetPriority()
    Mappable
    GetCurrentProcessID() getpid() Mappable
    Exitprocess() exit() Mappable
    WaitForSingleObjec()
    WaitForMultipleObject()
    GetExitCodeProcess()
    waitpid()
    ※Using Sys V semaphores, WaitForSingleObjec/MultipleObject
    can be implemented
    Context specific
    GetEnvironmentVariable()
    SetEnvironmentVariable()
    getenv()
    setenv()
    Mappable
    Table 2. Thread mapping
    WindowsLinuxClassification
    CreateThread() pthread_create
    pthread_attr_init
    pthread_attr_setstacksize
    pthread_attr_destroy
    Mappable
    ThreadExit() pthread_exit Mappable
    WaitForSingleObject() pthread_join
    pthread_attr_setdetachstate
    pthread_detach
    Mappable
    SetPriorityClass()
    SetThreadPriority()
    setpriority
    sched_setscheduler
    sched_setparam

    pthread_setschedparam
    pthread_setschedpolicy
    pthread_attr_setschedparam
    pthread_attr_setschedpolicy>

    Context Specific

    Table 3. Synchronization mapping
    WindowsLinux -- threadsLinux -- process
    Mutex Mutex - pthread library System V semaphores
    Critical section Mutex - pthread library Not applicable as critical sections are used only between the threads of the same process
    Semaphore Conditional Variable with mutex - pthreads
    POSIX semaphores
    System V Semaphores
    Event Conditional Variable with mutex - pthreads System V Semaphores
    Table 4. Semaphore mapping
    WindowsLinux -- threadsLinux -- processClassification
    CreateSemaphore sem_init semget
    semctl
    Context specific
    OpenSemaphore Not applicable semget Context specific
    WaitForSingleObject sem_wait
    sem_trywait
    semop Context specific
    ReleaseSemaphore sem_post semop Context specific
    CloseHandle sem_destroy semctl Context specific
    Table 5. Event objects mapping
    WindowsLinux -- threadsLinux -- processClassification
    CreateEvent
    OpenEvent
    pthread_cond_init
    sem_init
    semget
    semctl
    Context specific
    SetEvent pthread_cond_signal
    sem_post
    semop Context specific
    ResetEvent N/A N/A Context specific
    WaitForSingleObject pthread_cond_wait
    pthread_cond_timedwait
    sem_wait
    sem_trywait
    semop Context specific
    CloseHandle pthread_cond_destroy
    sem_destroy
    semctl Context specific
    Table 6. Mutex mapping
    WindowsLinux -- threadsLinux -- processClassification
    CreateMutex pthreads_mutex_init semget
    semctl
    Context specific
    OpenMutex Not applicable semget Context specific
    WaitForSingleObject pthread_mutex_lock
    pthread_mutex_trylock
    semop Context specific
    ReleaseMutex pthread_mutex_unlock semop Context specific
    CloseHandle pthread_mutex_destroy semctl Context specific
    Table 7. Critical section mapping
    WindowsLinuxClassification
    InitializeCriticalSection
    InitializeCriticalSectionAndSpinCount
    pthreads_mutex_init Mappable
    EnterCriticalSection
    TryEnterCriticalSection
    pthread_mutex_lock
    pthread_mutex_trylock
    Mappable
    LeaveCriticalSection pthread_mutex_unlock Mappable
    DeleteCriticalSection pthread_mutex_destroy Mappable

    Table 6. Mutex mapping
    WindowsLinux -- threadsLinux -- processClassification
    SignalObjectAndWait semop semop Context specific
    WaitForMultipleObjects sem_wait
    sem_trywait
    semop Context specific
  • 相关阅读:
    .NET CORE 3.1.5 跨域设置
    NET CORE WebAPI 搭建--基础搭建
    EF 表中中多次指定了列名解决办法
    .Net Core 3.1.2 区域路由配置【原创】
    浅谈DevOps
    阿里云服务器SQLSERVER 2019 远程服务器环境搭建【原创】【转载请注明出处】
    c# vs2019 Window服务搭建
    云服务器和域名的使用简历
    WAI-ARIA无障碍网页资料
    kendoUI toolbar kendoComboBox 使用
  • 原文地址:https://www.cnblogs.com/jacklikedogs/p/4030077.html
Copyright © 2011-2022 走看看