Чтение онлайн

ЖАНРЫ

Системное программирование в среде Windows

Харт Джонсон М.

Шрифт:
Таймеры SetTimer alarm Таймеры Sleep sleep Таймеры Sleep poll или select без указания файлового дескриптора –
Глава 7: Потоки и планирование выполнения
Область Windows UNIX/Pthreads Примечания
Управление потоками CreateRemoteThread
TLS TlsAlloc pthread_key_alloc
TLS TlsFree pthread_key_delete
TLS TlsGetValue pthread_getspecific
TLS TlsSetValue pthread_setspecific
Управление
потоками
CreateThread, _beginthreadex pthread_create
Управление потоками ExitThread, _endthreadex pthread_exit
Управление потоками GetCurrentThread pthread_self
Управление потоками GetCurrentThreadId
Управление потоками GetExitCodeThread pthread_yield
Управление потоками ResumeThread
Управление потоками SuspendThread
Управление потоками TerminateThread pthread_cancel pthread_cancel является более безопасной
Управление потоками WaitForSingleObject (в данном случае ожидание дескриптора потока) pthread_join
Приоритет потоков GetPriorityClass pthread_attr_getschedpolicy, getpriority
Приоритет потоков GetThreadPriority pthread_attr_getschedparam
Приоритет потоков SetPriorityClass pthread_attr_setschedpolicy, setpriority, nice
Приоритет потоков SetThreadPriority pthread_attr_setschedparam

Примечание. Будучи частью всех современных систем UNIX, потоки Pthreads доступны также в системах, отличных от UNIX.

Главы 8-10: синхронизация потоков
Область Windows UNIX/Pthreads Примечания
Синхронизация: критические разделы DeleteCriticalSection Для эмуляции объектов критических разделов используйте мьютексы. Библиотека С в данном случае не применима
Синхронизация: критические разделы EnterCriticalSection Некоторые системы предоставляют собственные эквиваленты. Библиотека С в данном случае не применима
Синхронизация: критические разделы InitializeCriticalSection
Синхронизация: критические разделы LeaveCriticalSection
Синхронизация: события CloseHandle (в данном случае закрытие дескриптора события) pthread_cond_destroy
Синхронизация: события CreateEvent pthread_cond_init
Синхронизация: события PulseEvent pthread_cond_signal Вручную сбрасываемое событие
Синхронизация:
события
ResetEvent
Синхронизация: события SetEvent pthread_cond_broadcast Автоматически сбрасываемое событие
Синхронизация: события WaitForSingleObject (в данном случае ожидание дескриптора события) pthread_cond_wait
Синхронизация: события WaitForSingleObject (в данном случае ожидание дескриптора события) pthread_timed_wait
Синхронизация: мьютексы CloseHandle (в данном случае закрытие дескриптора мьютекса) pthread_mutex_destroy
Синхронизация: мьютексы CreateMutex pthread_mutex_init
Синхронизация: мьютексы ReleaseMutex pthread_mutex_unlock
Синхронизация: мьютексы WaitForSingleObject(в данном случае ожидание дескриптора мьютекса) pthread_mutex_lock
Синхронизация: семафоры CreateSemaphore semget
Синхронизация: семафоры semctl Непосредственная поддержка всех опций в Windows отсутствует
Синхронизация: семафоры OpenSemaphore semget
Синхронизация: семафоры ReleaseSemaphore semop (+)
Синхронизация: семафоры WaitForSingleObject (в данном случае закрытие дескриптора семафора) semop (-) Windows может выполнять ожидание только одного счетчика
Глава 11: Взаимодействие между процессами
Поделиться с друзьями:
Область Windows UNIX Библиотека С Примечания
IPC CallNamedPipe CreateFile, WriteFile, ReadFile, CloseHandle
IPC CloseHandle (pipe handle) close, msgctl pclose
IPC ConnectNamedPipe
IPC CreateMailslot
IPC CreateNamedPipe mkfifo, msgget
IPC CreatePipe pipe popen He является частью стандартной библиотеки С — см. [40]
IPC DuplicateHandle dup, dup2, or fcntl Или используйте стандартные имена файлов CONIN$, CONOUT$
IPC GetNamedPipeHandleState stat, fstat, lstat64
IPC GetNamedPipeInfo stat, fstat, lstat
IPC ImpersonateNamedPipeClient
IPC PeekNamedPipe
IPC ReadFile (в данном случае используется дескриптор именованного канала) read (fifo), msgsnd