- 博客(71)
- 收藏
- 关注
原创 c语言中:struct timespec
通常用于高精度的时间测量和操作,特别是在需要测量小时间间隔或在需要与硬件或实时系统进行交互的情况下。例如,在POSIX系统上,你可以使用这个结构体来表示具体的时间点或时间间隔,以及执行各种时间相关的操作,比如计算时间差、等待一定的时间等。是一个结构体,通常用于处理时间和时间间隔。),用于存储纳秒(nanoseconds)。它表示时间的小数部分,即纳秒数。它表示时间的整数部分,即秒数。结构来表示当前时间。
2023-09-05 16:16:14
3094
原创 C++多线程之——pthread_cleanup_push与pthread_cleanup_pop
中,我们模拟了一些线程执行期间的操作,并在函数退出时执行清理函数。清理函数以相反的顺序执行,并打印出相应的清理信息。这些清理工作通常包括释放分配的资源或执行必要的操作,以确保线程退出时不会留下未完成的工作或资源泄漏。、返回从线程函数中等等)时,系统会自动执行清理函数堆栈中的清理函数。清理函数会以相反的顺序执行,即最后一个压入堆栈的函数会最先执行。这表示在线程退出时,将按照相反的顺序执行清理函数。类型的参数,用于传递给清理函数,以便它在执行时能够访问到需要清理的资源或数据。在这个示例中,我们使用。
2023-09-01 16:59:31
717
原创 C++之——宏
宏(Macro)是一种在编程语言中使用的符号,通常用于将一段代码片段替换为另一段代码。宏在代码中起到了预处理的作用,它们在编译代码之前被处理和展开。宏的使用可以显著提高代码的灵活性和可维护性,但也需要谨慎使用,因为它们不会像函数调用那样进行类型检查,可能会引入潜在的错误或不一致性。因此,在使用宏时,应注意确保其用法正确且不会引发不希望的行为。:宏可以用于在编译时根据条件来选择不同的代码路径。:宏可以用于创建字符串,这在编写日志消息和错误消息时很有用。宏,调试信息将被包含在编译后的代码中,否则将被忽略。
2023-09-01 16:13:52
690
原创 C++多线程之——pthread_mutex_t
由于我们在访问共享资源之前使用了 pthread_mutex_lock 来锁定互斥锁,在访问完成后使用 pthread_mutex_unlock 来解锁,因此可以确保只有一个线程能够修改计数器的值,从而避免了竞争条件。在这个示例中,我们将创建两个线程,它们将同时递增一个共享计数器,但由于使用了互斥锁,我们可以确保同时只有一个线程能够修改计数器的值。它尝试获取互斥锁,如果互斥锁已经被另一个线程锁定,它会立即返回一个错误代码,而不会阻塞。如果互斥锁已经被另一个线程锁定,调用线程将会阻塞,直到互斥锁变为可用。
2023-09-01 15:55:22
1778
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人