用户线程和内核线程 现代操作系统中,实现线程库有两种方法:在用户空间中和在内核空间中。 用户线程 整个线程包的实现都在用户空间的话,就意味着操作系统内核对它一无所知,只知道他是一个普通的需要调度的进程。协程就是一种用户线程的实现,可以满足在一个内核线程上并发执行多个任务,coroutine和goro ...
分类:
编程语言 时间:
2020-02-26 21:07:52
阅读次数:
367
一、读写锁读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。读操作可以共享,写操作是排他的,可以有多个在读(与 CPU 数相关),只能有唯一个在写,但不能同时既有读者又有写者。如果读写锁当前没有读者,也没有写者,那么写者... ...
分类:
其他好文 时间:
2020-02-26 14:11:21
阅读次数:
64
UNIX编程第12章 12.2 线程限制 UNIX中线程操作相关的限制: 限制名称 描述 name参数 PTHREAD_DESTRUCTOR_ITERATORS 线程退出时操作系统实现试图销毁线程特定数据的最大次数 _SC_THREAD_DESTRUCTOR_ITERATIONS PTHREAD_K ...
分类:
编程语言 时间:
2020-02-19 23:37:07
阅读次数:
77
1. pthread.h中头部需要添加 #define HAVE_STRUCT_TIMESPEC 2. 报一些socket之类的错误时,我在预处理器中添加, HAVE_STRUCT_SOCKADDR_STORAGE;HAVE_STRUCT_SOCKADDR_IN6; 遇到这样的报错: “sockad ...
分类:
其他好文 时间:
2020-02-19 11:41:41
阅读次数:
213
pthread_rwlock:读写锁 #import "ViewController.h" #import <Pthread.h> @interface ViewController () @property (nonatomic,assign) pthread_rwlock_t lock; @en ...
分类:
移动开发 时间:
2020-02-12 00:26:51
阅读次数:
106
#import "ViewController.h" #import <pthread.h> @interface ViewController () @property (nonatomic, strong) NSCondition *lock; @property (nonatomic, str ...
分类:
移动开发 时间:
2020-02-09 23:44:18
阅读次数:
88
增加了buffsize,生产者生产过多,wait #include <stdio.h> #include <unistd.h> #include <pthread.h> #define PRODUCER_SIZE 1 #define CONSUMER_SIZE 1 int products = 0; ...
分类:
其他好文 时间:
2020-02-09 16:28:51
阅读次数:
66
在makefile中经常会看到这些选项,gcc默认会在程序当前目录、path路径中查找所需要的材料 如何给gcc添加我们自己的原材料(头文件,库等) I (注意是大写的i) 给gcc添加自定义的头文件的路径 例如:我的头文件目录是myinclude L 给gcc添加额外的搜索库的路径 例如 :有一个 ...
分类:
其他好文 时间:
2020-02-09 09:57:43
阅读次数:
82
#include <stdio.h> #include <unistd.h> #include <pthread.h> void increase(); int sum = 0; pthread_mutex_t mutex; int main() { // init mutex pthread_mu ...
分类:
其他好文 时间:
2020-02-08 23:13:53
阅读次数:
136
在MFC 中,创建一个子线程,若想在子线程中退出主窗口程序,可使用PostMessage 向主窗口发送close 或者quit 消息。 BOOL CHandBoxComDlg::OnInitDialog() { g_pThread= AfxBeginThread(ThreadRdFromHandBo ...
分类:
编程语言 时间:
2020-01-21 15:59:30
阅读次数:
80