草庐IT

pthreads

全部标签

linux - 为什么多个克隆系统调用调用单个 go 子程序?

我创建了一个小示例程序来检查子例程系统调用。packagemainfuncprint(){}funcmain(){goprint()}go子程序的stracesclone(child_stack=0xc000044000,flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM)=27010clone(child_stack=0xc000046000,flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SY

android - 编译到Android : invalid signature of pthread_key_create

CGO_CFLAGS="--sysroot=android-sdk-linux/ndk-bundle/platforms/android-9/arch-arm/"CGO_ENABLED=1CC=android-sdk-linux/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++CXX=android-sdk-linux/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/lin

windows - 将 Win32 API 功能与 pthreads 一起使用/从 pthreads 使用

我有自己的线程库,使用TinyThread++构建。它工作得很好,对我来说也是一次很好的学习经历。我有自己的数据结构来传递消息,这个界面对我来说很有意义,主要是因为我是它的作者。每当在我的系统中创建一个线程时,它都会循环运行,并偶尔通过我自己设计的消息传递协议(protocol)检查消息。现在我想开始使用一些WindowsAPI功能,Windows有自己的一套约定和消息队列等。现在我很确定TinyThread++使用pthreads。由于我使用的是MinGW,我想知道是否在Windows线程上实现了pthreads。如果是这种情况,我也许可以将我的pthreads-threads视为w

c - 等同于 Windows 上的 PTHREAD_MUTEX_INITIALIZER?

是否可以静态初始化CRITICAL_SECTION,如pthread_mutex_tmutex=PTHREAD_MUTEX_INITIALIZER?换句话说,是否可以在C语言中初始化库中的全局CRITICAL_SECTION而不必弄乱DllMain等? 最佳答案 是的,只需在DLL_PROCESS_ATTACH中初始化并在DLL_PROCESS_DETACH中删除CRITICAL_SECTIONg_cs={0};BOOLWINAPIDllMain(HINSTANCEhinstDLL,//handletoDLLmoduleDWORDf

c++ - pthreads_cond_wait 和排队 pthreads 的问题

我试图让pthreads同时运行一个函数的多个实例,以提高运行时速度和效率。我的代码应该产生线程并在队列中有更多项目时保持线程打开。然后那些线程应该做“某事”。该代码应该要求“继续?”当队列中没有更多项目时,如果我键入"is",则应将项目添加到队列中,线程应继续做“某事”。这是我目前所拥有的,#include#include#include#includeusingnamespacestd;#defineNUM_THREADS100intmain();queuetestQueue;void*checkEmpty(void*arg);void*playQueue(void*arg);vo

c++ - 在 Visual Studio 2013 上的 C++ 中使用 pthread

我正在尝试在Windows上使用pthread库。我下载了一个带有Pre-built.2文件夹的zip,然后按照说明进行操作。到目前为止我做了什么:将POSIX\Pre-built.2\include中的所有.h文件放入MSVS2013\VC\include文件夹中\dll\x86dll\x86中的所有.dll文件到VC\binlib\x86中的所有.lib文件到VC\lib在Property->Config->Linker->Input->AdditionalDependencies中,pthreadVC2.lib;pthreadVCE2.lib;pthreadVSE2.lib;%(

c - 非阻塞输入 C

我正在尝试创建一个程序,向用户提出问题并有几秒钟的时间回答问题,否则程序会停止输入。现在我的问题是我无法让我的程序不阻止输入。我能够输入数据,但当我不输入并且计时器用完时,它会一直要求输入。我在Windows上运行并使用Code::Blocks以防它很重要。如果有人可以向我解释我做错了什么,将不胜感激。#include#include#include#include#includeintkey=0;intGradeTotal=0;//runsanemptyloopeveryiterationF.E.forloopvoidtimer(intseconds){clock_twait=(cl

php - 使用 Apache 和 PHP 处理线程

在Linux/Windows上是否可以通过Apache(使用浏览器)在PHP中使用threads? 最佳答案 仅仅有可能做某事这一事实并不能说明它是否合适。事实是,pthreads+PHP使用的线程模型是1:1,即一个用户线程对一个内核线程。在apache内部的Web应用程序的前端部署此模型并没有实际意义;如果前端Controller指示硬件创建少量线程(例如8个),而100个客户端同时请求Controller,则您将要求硬件执行800个线程。pthreads可以部署在apache内部,但不应该。您应该做的是尝试隔离应用程序中需要线

windows - Windows 上的 Linux pthread 可移植性

对于某个项目,我必须在pthread中使用静态互斥锁初始化器。但是我的库应该也可以在Windows上移植。pthread_mutex_tcsapi_mutex=PTHREAD_MUTEX_INITIALIZER;Windows上有相应的静态初始化程序吗?谢谢。 最佳答案 Pthreads-win32应该为这种结构提供很好的支持。但是我没有查过。 关于windows-Windows上的Linuxpthread可移植性,我们在StackOverflow上找到一个类似的问题:

windows - C++/CLI 中的错误,除非使用 Pthread 创建委托(delegate)实例,否则无法获取函数地址

我在VisualC++2008Professional上使用C++/CLI,因为我使用的是Windows窗体,这意味着我已经管理了代码并且我正在尝试调用静态函数LoginAccounts,但我得到一个错误可能是因为我我正在混合托管代码和非托管代码,但我不知道该怎么做。我正在使用适用于Windows的PThreadSystem::Voidtesting_Click(System::Object^sender,System::EventArgs^e){pthread_create(&t,NULL,&Contas::LoginAccounts,this);//Errorinthisline}