- 浏览: 768782 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (1045)
- 数据结构 (36)
- UML与设计模式 (42)
- c++ (87)
- rust (36)
- Qt (41)
- boost模板元编程 (43)
- Linux (77)
- 汇编 (4)
- 其它 (2)
- 烹饪 (3)
- unix c / socket (73)
- 软件工程 (4)
- shell (53)
- Python (37)
- c++ primer 5th(c++11) (22)
- 数据库/MySQL (27)
- 数据存储 (4)
- lisp (7)
- git (4)
- Utility (3)
- CDN与DNS (54)
- Http (53)
- php (7)
- nginx/lua/openresty (41)
- redis (11)
- TCP/IP (16)
- 互联网 (6)
- kernel (2)
- go (34)
- 区块链 (43)
- 比特股 (13)
- 以太坊 (23)
- 比特币 (23)
- 密码学 (10)
- EOS (53)
- DAG (1)
- docker (1)
- filecoin (7)
- solidity (65)
- ipfs (8)
- 零知识证明 (1)
- openzeppelin (3)
- java (1)
- defi (7)
- Ton (0)
最新评论
#include <pthread.h> #include <unistd.h> #include <sys/types.h> #include <stdio.h> void printId(const char* s) { pid_t pid = getpid(); pthread_t tid = pthread_self(); printf("%s pid %u tid %u (0x%x)\n",s,(unsigned int)pid,(unsigned int)tid,(unsigned int)tid); } void* testThread(void* /*p*/) { printId("new thread:"); //将返回值传出 pthread_exit((void*)"thread finished"); return 0; } int main() { pthread_t pid; pthread_create(&pid,NULL,testThread,NULL); void* ret = NULL; pthread_join(pid,&ret); printId("main thread:"); printf("ret:%s",(char*)ret); } new thread: pid 20959 tid 3077462896 (0xb76e5b70) main thread: pid 20959 tid 3077469904 (0xb76e76d0) ret:thread finished
发表评论
-
滑动窗口与拥塞控制
2017-09-29 14:47 762滑动窗口:用作流量控制: 1.发送端和接收端各维护一个独立的发 ... -
rawsocket发送tcp包
2017-09-25 11:52 987testTcp.h #ifndef TESTTCP_H ... -
柔性数组
2017-09-20 09:53 511#include <iostream> #i ... -
rawsocket发送dns包
2017-09-14 15:18 618#include <stdio.h> #in ... -
rawsocket发送icmp包
2017-09-06 09:54 665#include <stdio.h> #in ... -
netfilter
2016-10-04 20:31 484http://blog.chinaunix.net/uid-2 ... -
gdb的简单使用
2016-09-19 15:18 419注意编译的时间加上-g参数 1.调试运行 gdb a.out ... -
TCP各状态的意义
2016-03-01 14:06 425各个状态的意义如下: LISTEN - 侦听来自远方TCP端 ... -
log
2015-03-30 17:42 457log.h #ifndef __LOG_H__ #def ... -
TIMEWAIT与CLOSEWAIT
2015-03-17 11:32 665http://blog.csdn.net/kobejayand ... -
TcpClient
2015-01-16 17:46 476TcpClient.h #ifndef TCPCLIENT ... -
信号量
2014-09-26 10:20 686#include <semaphore.h> ... -
共享内存
2014-09-17 10:39 605SharedMemory.h #ifndef SHARED ... -
记录锁
2014-09-11 16:32 442#include <errno.h> #in ... -
popen
2014-09-06 14:50 643#include <stdio.h> #in ... -
大小端存储
2014-09-05 09:29 609#include <stdio.h> i ... -
条件变量(cond)
2014-09-01 11:02 887#include <pthread.h> # ... -
读写锁
2014-09-01 10:33 734#include <pthread.h> # ... -
trylock
2014-09-01 10:07 674#include <pthread.h> # ... -
线程分离
2014-09-01 10:00 698http://www.cnblogs.com/mydomain ...
相关推荐
注意:不应使用全局变量 pthread_t tid,在子线程中通过pthread_create传出参数来获取线程ID,而应使用pthread_self。 pthread_create函数 创建一个新线程。 其作用,对应进程中fork() 函数。 int pthread_create...
参1:传出参数,调用时应传 &mutex restrict关键字:只用于限制指针,告诉编译器,所有修改该指针指向内存中内容的操作,只能通过本指针完成。不能通过除本指针以外的其他变量或指针修改 参2:互斥量属性。是一...
由于只有UI主线程才可以操作桌面UI,那么在多线程中,其它线程的数据若要显示出来,可以通过全局共用变量来实现,或者通过线程通信的方式来实现,本例程就是通过UI上的按钮启动线程,在线程中发送信号到UI主线程,并...
1. 错误处理:由于COM接口通常是无异常的,错误通常通过返回值或传出参数表示,因此要确保正确处理错误返回。 2. 内存管理:COM数据类型通常需要手动管理内存,不正确的释放可能导致内存泄漏或系统崩溃。 3. 类型...
5. **错误检测和返回值**:VC++的DLL函数可能通过返回值和/或传出参数来报告错误。在C#中,需要检查这些返回值和参数,以确定调用是否成功。 6. **默认和变体调用约定**:C#默认使用stdcall调用约定,而VC++中默认...
1. 错误处理:许多API函数会通过返回值或传出参数报告错误。例如,`CreateFile`函数可能会返回一个无效的句柄,这时需要检查并处理错误。 2. 安全性:使用API函数时,要特别注意内存管理和线程安全,避免资源泄漏和...
返回值是就绪描述符的数量,且在传出参数中提供就绪描述符列表。 ### 4. epoll的事件模型 epoll使用红黑树存储待监控的文件描述符,并使用链表存储就绪的描述符。这种数据结构使得添加、删除和查找操作的时间...
3. **函数**:函数是JavaScript中可重用的代码块,可以通过参数传递数据,并通过返回值传出结果。函数表达式、箭头函数和函数声明是三种定义函数的方式。函数也可以作为一等公民,可以赋值给变量、作为参数传递和...
2. 传入参数与传出参数 3. 两层指针的参数 4. 返回值是指针的情况 5. 回调函数 6. 可变参数 25. C标准库 1. 字符串操作函数 1.1. 初始化字符串 1.2. 取字符串的长度 1.3. 拷贝字符串 1.4. 连接字符串 1.5. 比较字符...
它们是可重用的代码块,可以通过参数传递数据,并通过返回值传出结果。函数表达式、箭头函数和函数声明是三种定义函数的方式,各有其特点和应用场景。 对象是JavaScript的核心特性,它是一种键值对的集合。你可以...
使用STL时,需注意线程安全问题,例如32位平台下的`std::string`可能存在线程安全问题。建议在熟悉STL后使用,避免陷阱。对于全局函数,如`snprintf`,推荐使用`::`前缀以明确其来源。 5. **类和构造函数**:构造...
4. **错误处理**:在Objective-C中,许多方法会返回一个NSError对象来报告错误,而在C绑定中,我们通常会通过返回值或传出参数来表示错误情况。 5. **安全性**:由于C语言的特性,需要特别关注缓冲区溢出、空指针...
- **服务端**:包含服务端组件、收发包队列、I/O线程、工作线程、序列化/反序列化、上下文管理器、超时管理、异步回调等。 这些组件共同协作,以确保高效、可靠的服务间通信。 #### 四、结论 综上所述,RPC框架是...
返回值为新创建的socket句柄,失败时返回-1,并设置`errno`为相应的错误代码,如EPROTONOSUPPORT、ENFILE或EMFILE等。 2. `connect()`函数: `connect()`函数用于将socket连接到指定的网络地址。原型如下: ```c...