DLL和线程高手请进,高分相许!!!

cyb 2000-09-13 03:12:00
我需要编写一个如下需求的动态库函数:
function cardexecu(input:pchar;output:pchar):integer;
该动态库函数将一组数据送到卡中处理,从卡中读出处理结果。该动态库函数可能在一台机器上被多个程序同时调用。但由于卡只能串行工作。因此必须有某种排队机制来解决。
我想利用线程的同步机制来实现。
请高手指教!!!或提供类似的源程序借鉴!!!
...全文
124 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigjim 2000-09-14
  • 打赏
  • 举报
回复
westaf说的对,用临界区是最合适的。
1.声明临界区对象 CRITICALSECTION cr;
2.初始化临界区对象 InitializeCriticalSection(&cr);
3.使用
cardexecu()
{
...//初始化部分,可以同步进行
EnterCriticalSection(...);
// 你原来的程序中开始使用串口的部分
...
LeaveCriticalSection(...);//使用串口结束
...//清理工作
}
westaf 2000-09-13
  • 打赏
  • 举报
回复
很简单,dll初始化时,建立一个CriticalSection对象,然后:
cardexecu()
{
EnterCriticalSection(...);
// 你原来的程序
...
LeaveCriticalSection(...);
}
坎坷的菜贩 2000-09-13
  • 打赏
  • 举报
回复
自己看看有关线程同步的资料吧,很简单的。可以通过对卡进行输入输出操作的代码段使用互斥的方法来实现。
Holly 2000-09-13
  • 打赏
  • 举报
回复
你到底是要Delphi的程序还是VC++的程序?

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧