当前位置:  技术问答>linux和unix

c++程序移植到Linux下线程问题请教

    来源: 互联网  发布时间:2016-09-25

    本文导语:  int Si_OpenDevice(int sTimeoutSecond) { memset(g_DeviceStates,DEVICE_NOTEXIST,MAX_CARD_NUM); g_DriverType = Si_JudgeDevice(); //创建互斥 DWORD nWaitResult=0; RW_Device=CreateMutex(NULL,true,MUTEX_GUID); nWaitResult=GetLastError(); if(nWaitResult== ERROR_ALREADY_EX...

int Si_OpenDevice(int sTimeoutSecond)
{
memset(g_DeviceStates,DEVICE_NOTEXIST,MAX_CARD_NUM);

g_DriverType = Si_JudgeDevice();

//创建互斥
DWORD nWaitResult=0;
RW_Device=CreateMutex(NULL,true,MUTEX_GUID);
nWaitResult=GetLastError();
if(nWaitResult== ERROR_ALREADY_EXISTS)
RW_Device=OpenMutex(MUTEX_ALL_ACCESS,true,MUTEX_GUID);
ReleaseMutex(RW_Device);

if(g_DriverType == NONE_VERSION)
return SR_CANNOT_OPEN_DEVICE;
if(g_DriverType == SJW_1_8_6_11)
return Si_OpenDevice2("\\.\SJW16_skt",sTimeoutSecond);
if(g_DriverType == SJW_1_8_6_15)
return Si_OpenDevice1("\\.\SJW16_skt",sTimeoutSecond);
if(g_DriverType == RSA_1_8_6_15)
return Si_OpenDevice1("\\.\RSA_skt",sTimeoutSecond);
else
return SR_CANNOT_OPEN_DEVICE;

return SR_SUCCESSFULLY;
}

最主要是这句RW_Device=CreateMutex(NULL,true,MUTEX_GUID);
我知道在Linux下要用这个pthread_mutex_init(&mutex, NULL))函数初始化但是我不知道 参数怎么弄
#define MUTEX_GUID   "{Monopolization-Sjw16}"
MUTEX_GUID 这个参数放在哪  望好心人指点一二,万分感谢!

|
linux下线程是按POSIX标准来的,里面没有GUID这个东西,这是windows下管理对象的一个概念。使用很简单,

pthread_mutex m;

if (pthread_mutex_init(&m, NULL) != 0)
  ...// error handle

pthread_mutex_lock(&m);
...
pthread_mutex_unlock(&m);
...
pthread_mutex_destroy(&m);

    
 
 

您可能感兴趣的文章:

  • 在Python中使用SWIG调用C和C++程序
  • 为什么linux下的C++程序这么少见? 请问那里有linux下的C++程序?什么类型的程序都可以.
  • C++程序的内存不同的数据段及堆栈布局
  • unix下的C++程序转换为可以在windows下的C++
  • 请问如何在一个java程序中加载 C或c++程序??
  • 我把JAVA和C++都搞混了,希望JAVA、C++爱好者给我讲讲里面的程序注释问题在JAVA和C++中都有哪些不同。
  • Linux下怎样编译C++程序?
  • Unix下的CC能编译C++的程序吗?不是GCC
  • linux下C++程序开发该从何开始?
  • 请教: linux下用c++写最简单的socket程序如何写?
  • Unix环境下如何执行c++程序
  • 请问c++程序怎么编?
  • 请问在C++中能编写SDL游戏程序吗
  • 最进想学习LINUX程序设计,想了解一下在LINUX下的C++程序开发工具有哪些?有快速做界面的那种吗?
  • 在C++程序中编写Lisp代码 InteLib
  • 怎样在linux下编译c++程序?(有分,但不多)
  • 在UNIX下如何编译C++程序
  • c++ 程序问题
  • 在Linux下怎么编译C++程序?
  • [求助]C++程序中怎么从URL取数据?
  • gcc与g++对于编译c++程序的区别
  • 请问在多线程得程序中,函数内的局部变量是否线程安全的
  • 为什么我的程序多线程要比单线程慢很多呢?
  • 请问在单进程,多线程程序里,线程间使用IPC的信号量来同步,能行吗?
  • 用什么方法可以查看在windows下jvm下运行当前java程序的线程数和线程名称?
  • 如果两个线程操作同一个Socket,一个线程recv,另一个send。这样会不会导致程序莫名其妙的退出
  • 请问对于多线程程序应该如何测试线程的切换开销呢
  • 各位,线程的run方法不允许抛出异常,那我的调用程序如何得知线程里发生了异常?
  • GDB下怎样调试多线程程序?
  • 如何准确理解“程序”、“进程”、“线程”这三个概念
  • 多线程网络通讯程序的稳定性问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 程序可移植性问题
  • WINDOWS GDI程序如何移植到LINUX下?望高手们赐教!!!
  • linux上的c程序移植到solaris 10 需要作哪些工作
  • 求程序移植乱码解决方案
  • 征将linux 的程序移植到 windows的方案
  • 关于程序移植,请知道的帮忙,分会加的
  • 移植c++builder的程序出错
  • 移植PCI驱动程序,提示找不到iobuf.h
  • 新手求教——windows程序移植到unix下
  • gtk+程序移植到Windows上的问题
  • Unix程序移植到linux问题[mkdirp]
  • vc程序怎样移植到Linux下????(在线等待特急)
  • 各位好,如何将VC++写的程序代码移植到Linux上?用GCC编译的话,程序需要做那些改动?
  • UNIX系统下的C程序移植到Linux系统的问题
  • 请问这个程序能移植到linux上么?怎么解决?谢谢
  • Linux程序移植到windows
  • 请问wxWindows 和Qt随用来移植MFC开发的程序比较好?
  • linux 程序移植到windwos下
  • 请大家帮忙提供资料:如何将windows系统服务程序移植为linux系统服务?
  • 关于telnetd程序移植的问题,请了解Unix telnet过程的大侠帮忙看看
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 为什么我在java程序里启动的一个程序在java程序关闭后,该程序的所有进程都关掉了
  • windows server2008上PowerBuilder程序系统错误解决方法
  • Linux 编程怎么样在程序开启一个程序,和关闭一个程序?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • 程序员的八种级别,你属于哪一级?
  • Linux下的程序是在内存中运行的吗?为什么在程序运行的时候可以删除程序文件?
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 我的程序是用c写的gtk+程序,有个函数的参数要传给它图片的文件名,但是图片和原程序不在同一目录下怎么办?怎么在程序里指定文件的路径
  • 在docker容器中通过apt-get安装新的程序


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3