相关疑难解决方法(0)

pthread_create()如何工作?

鉴于以下内容:

pthread_t thread;
pthread_create(&thread, NULL, function, NULL);
Run Code Online (Sandbox Code Playgroud)
  • 究竟pthread_create做了thread什么?

  • thread它加入主线程并终止后会发生什么?

  • 如果在thread加入后,您会这样做:

    pthread_create(&thread, NULL, another_function, NULL);
    
    Run Code Online (Sandbox Code Playgroud)

c c++ pthreads

10
推荐指数
1
解决办法
2459
查看次数

线程等待父级

我正在为我的ubuntu服务器实现一个简单的线程池机制(对于我的多客户端匿名聊天程序),我需要让我的工作线程休眠,直到需要执行一个作业(以函数指针和参数的形式) .

我现在的系统正在窗外.我(工作者线程)询问经理是否有工作,如果没有睡眠5ms.如果有,请将作业添加到工作队列并运行该功能.可怜的循环浪费.

什么我喜欢做的是做一个简单的事件性的系统.我正在考虑使用互斥体向量(每个工作一个),并在创建时将传入的互斥锁作为参数传递.然后在我的经理类(保存并分发作业)中,每当创建一个线程时,锁定互斥锁.当需要执行作业时,解锁下一个互斥锁,等待它被锁定和解锁,并重新锁定它.但是我想知道是否有更好的手段来实现这一目标.


tldr; 所以我的问题是这个.什么是使线程等待管理类工作的最有效,最有效和最安全的方法?轮询我应该考虑的技术(一次超过1000个客户端),互斥锁是否正常?还是有其他技术?

c++ sockets linux mutex pthreads

4
推荐指数
1
解决办法
1399
查看次数

标签 统计

c++ ×2

pthreads ×2

c ×1

linux ×1

mutex ×1

sockets ×1