小编Ten*_*nev的帖子

多线程 - 我是否需要锁定读取数据?

看看这段代码:

int data=5;

void Thread1()
{
    if(data==5)
    {
       //nothing
    }
}

void Thread2()
{
    if(data==2)
    {
       //nothing
    }
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我是否需要在if(data == ..)之前使用EnterCriticalSection/MutexLock?

c++ multithreading

6
推荐指数
1
解决办法
3864
查看次数

C++ 套接字 Send() 线程安全

我正在为最大 1000 个客户端编写套接字服务器,服务器是关于我的游戏,我使用非阻塞套接字和大约 10 个线程同时从不同的套接字接收数据(第一个线程从 0-100 接收,第二个从 101-200等等..)

但是如果线程 1 要向所有 1000 个客户端发送数据,而线程 2 也想同时向所有 1000 个客户端发送数据,那安全吗?数据在另一(客户端)端是否有可能被弄乱?

如果是,我想唯一可能发生的问题是有时客户端会收到 2 或 10 个数据包作为 1 个数据包,对吗?如果是的话,有什么解决办法吗:(

c++ sockets multithreading send

5
推荐指数
1
解决办法
6264
查看次数

OpenGL - 透明度如何运作?

我是否需要Alpha通道才能在OpenGL中使用透明度?我可以使用glBlendFunc或其他任何方式使黑色或白色透明/不可见吗?如果有,该怎么办?

opengl

5
推荐指数
1
解决办法
666
查看次数

C++获取"分段错误"Linux x64的文件名和行号

没有运行GDB,只有程序本身.

编辑:我已经看过这样的程序,但我无法想象自己该怎么做:(

c++ linux 64-bit

1
推荐指数
2
解决办法
1533
查看次数

pthread_mutex_lock并解锁

我有两个线程,它们运行非常快,我的pthread_mutex_lock使用和调用pthread_mutex_unlock进入全球(externed变量)数据

问题是我的应用程序需要大约15-20%的CPU在Ubuntu Linux上运行,

相同的代码,但与EnterCriticalSection的和LeaveCriticalSection和运行在Windows上使用的CPU的1-2%

c++ mutex pthreads

-1
推荐指数
1
解决办法
1895
查看次数

标签 统计

c++ ×4

multithreading ×2

64-bit ×1

linux ×1

mutex ×1

opengl ×1

pthreads ×1

send ×1

sockets ×1