- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我使用 Ubuntu Linux。当我尝试使用“usleep”函数时,我得到了关于“函数 usleep 的隐式声明”的信息。以下是错误代码:
muteks.c:70:4: warning: implicit declaration of function ‘usleep’ [-Wimplicit-function-declaration]
usleep(300);
^
源代码:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <pthread.h>
void * klientWatek (void* arg);
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
static int lKf = 10;
int lKl = 15;
int main ()
{
pthread_t *klientTab;
int *klientTabId;
int lKr = 1;
int i;
// pamięć dla identyfikatora wątku
klientTab = (pthread_t *) malloc (lKl* sizeof (pthread_t));
klientTabId = (int *) malloc (lKl*sizeof (int)); //pamięć dla id
// będącego argumentem przekazywanym do funkcji
for (i=0; i<lKl; i++) klientTabId[i]=i; //przypisanie
printf("\nOtwieramy pub (simple)!\n");
printf("\nLiczba wolnych kufli %d\n", lKf);
for (i=0; i<lKl; i++)
{
pthread_create (&klientTab[i], NULL, klientWatek,
&klientTabId[i]);
}
for (i=0; i<lKl; i++)
{ //wątek joinable, ręcznie zwalniamy zasoby
pthread_join (klientTab[i], NULL);
}
printf("\nZamykamy pub!\n");
printf("\nLiczba wolnych kufli %d\n", lKf);
void * klientWatek (void * argWsk)//zostanie przekazany klientTabId[i]
{
int mojId = * ( (int *) argWsk);
int i,j;
int pobranoKufel = 0;
int ileMuszeWypic = 2;
printf ("\nKlient %d, wchodzę do pubu\n", mojId);
for (i=0; i<ileMuszeWypic; i++)
{
do
{
pthread_mutex_lock(&mutex);
if (lKf > 0)
{
printf("\nSprawdziłem, czy jest wolny kufel\n");
lKf--;
pobranoKufel = 1;
printf("\nWziąłem kufel\n");
}
pthread_mutex_unlock(&mutex);
} while (pobranoKufel == 0);
printf("\nKlient %d, wybieram kufel\n", mojId);
j=0;
printf("\nKlient %d, nalewam z kranu %d\n", mojId, j);
usleep(300);
printf("\nKlient %d, pije\n", mojId);
nanosleep((struct timespec[]){{0, 500000000L}},NULL);
printf("\nKlient %d, odkladam kufel\n", mojId);
if (pobranoKufel == 1)
{
pthread_mutex_lock(&mutex);
pobranoKufel=0;
lKf++;
pthread_mutex_unlock(&mutex);
}
}
printf("\nKlient %d, wychodzę z pubu\n", mojId);
return (NULL);
}
我尝试编译程序的方式:
gcc -Wall -pedantic -std=gnu99 -pthread muteks.c -o przyklad
我现在该怎么办,编译它?
最佳答案
usleep()
在您未包含的标准 header unistd.h
中声明。包括它:
#include <unistd.h>
相关说明:usleep()
自 POSIX-2008 以来已被删除,建议使用 nanosleep()
相反。
关于C、使用 "usleep"函数编译报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40451142/
我使用下面的代码计算每次连续调用处理程序函数所用的时间(以毫秒为单位)。当我使用 usleep(1000) 时,即每次调用之间的 1 毫秒时间差为 10 毫秒,而当我使用 usleep(1000000
我使用下面的代码计算每次连续调用处理程序函数所用的时间(以毫秒为单位)。当我使用 usleep(1000) 时,即每次调用之间的 1 毫秒时间差为 10 毫秒,而当我使用 usleep(1000000
我正在使用CLLocationManager,如果该程序是第一次安装,它需要用户接受或拒绝共享他的位置。我想要的是对自身进行编程以等待用户提示。 现在的问题是我正在等待 usleep() while
我一直在使用 ApacheBench ( ab ) 命令行实用程序,但我不确定它是否适合我正在尝试做的事情。 我正在运行 10 个并发请求和 10 个请求,将 INSERT 插入到 MySQL 表中并
根据Linux联机帮助页,只有以下函数是线程取消点:pthread_join、pthread_cond_wait、pthread_cond_timedwait、pthread_testcancel、s
#include #include #include int main(void) { int i=0; while(i<10) {
这个问题在这里已经有了答案: usleep() to calculate elapsed time behaves weird (2 个答案) 关闭 4 年前。 在下面的 C++ 程序中,我使用函数
我正在学习《Unix 环境中的高级编程》,第 15 章的练习 17 有问题。 练习要求读者“使用建议记录锁定在父项和子项之间交替”。 而且我发现如果不使用 usleep() 就无法完成。 没有什么可以
我有两个 php 脚本,当我调用一个包含 usleep() 循环的脚本时,它会延迟完整其他脚本的执行? 有什么想法吗? 谢谢! 最佳答案 您需要使用session_write_close(),否则它会
在我的工作场所中的并发代码中,多次发生具有非零常量的nanosleep()或usleep(),以释放CPU而不依赖于futex(),或者使用 sleep 同步原语使线程进入休眠状态(例如例如,等待并发
我用两个不同的背景调用了两次背景函数。我设置了 usleep(1000) 但不起作用。我的系统是 linux,运行的是 Qt 4.8。 主要.cpp MainWindow w; w.setBg('A'
我使用 Ubuntu Linux。当我尝试使用“usleep”函数时,我得到了关于“函数 usleep 的隐式声明”的信息。以下是错误代码: muteks.c:70:4: warning: impli
我正在将数据包从发送方线程发送到接收方线程。为了控制发送速率(每秒数据包数),我计算了在发送下一个数据包之前需要等待的时间,以保持一定的发送速率。 假设需要等待的时间计算为 100 微秒。 我检查现在
我尝试通过 usleep 确保每个循环的执行时间为 10ms,但有时会超过 10ms。 我不知道如何解决这个问题,使用 usleep 和 gettimeofday 是否合适这个案例? 请帮我找出我错过
#include #include using namespace std; int var; int main() { var=1; cout << var; var++
我正在开发游戏服务器,它是用C写的。我需要以一定的频率(每秒50次)开发一个周期执行算法。问题是我无法将程序暂停一个确切的时间间隔 - 20000 微秒。函数 usleep(20000) 运行大约 3
gcc (GCC) 4.6.3 c89 我正在尝试使用 usleep。但是,我不断收到以下警告: implicit declaration of function usleep 我已经包含了 unis
所以我一直在寻找关于 usleep() 的东西,我发现要摆脱它的是 #define 我已经完成了...任何其他建议?我需要摆脱这个警告......或者关于如何使用毫秒 sleep 的任何想法。 #de
我正在使用 Xtst 扩展来使用鼠标键入和执行操作在我开始使用 xtst 移动和单击鼠标之前,我没有遇到任何问题。 例如,这是一组 Action :移动 359,216 并单击 (XTestFakeM
在我的 objective-c 代码中,我使用 c 和 c++ 库。里面有一个 usleep(20);使用的方法,我不断收到警告“函数‘usleep’的隐式声明”。将其保留在代码中可以吗?此代码块会导
我是一名优秀的程序员,十分优秀!