社区
C语言
帖子详情
如何用C实现线程间的数据通讯?
yjukh
2008-02-19 11:55:21
如果是普通对象,到可以正常读写。
但若在主线程中动态创建了一个数组,在子线程中却不能访问,有没有比较好的方法?
我是用CVI做的,C语言。
...全文
741
9
打赏
收藏
如何用C实现线程间的数据通讯?
如果是普通对象,到可以正常读写。 但若在主线程中动态创建了一个数组,在子线程中却不能访问,有没有比较好的方法? 我是用CVI做的,C语言。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Chappell
2008-02-21
打赏
举报
回复
#include "stdafx.h"
#include <windows.h>
#include <conio.h>
DWORD WINAPI ThreadFunc( LPVOID lpParam )
{
char szMsg[80];
wsprintf( szMsg, "Parameter = %d.", *(DWORD*)lpParam );
MessageBox( NULL, szMsg, "ThreadFunc", MB_OK );
return 0;
}
void main()
{
DWORD dwThreadId, dwThrdParam = 1;
HANDLE hThread;
char szMsg[80];
hThread = CreateThread(
NULL, // no security attributes
0, // use default stack size
ThreadFunc, // thread function
&dwThrdParam, // argument to thread function
0, // use default creation flags
&dwThreadId); // returns the thread identifier
// Check the return value for success.
if (hThread == NULL)
{
wsprintf( szMsg, "CreateThread failed." );
MessageBox( NULL, szMsg, "main", MB_OK );
}
else
{
_getch();
CloseHandle( hThread );
}
}
Jim_King_2000
2008-02-21
打赏
举报
回复
================================================================================
但若在主线程中动态创建了一个数组,在子线程中却不能访问
================================================================================
不会的。只要是一个进程内的东东,都是可以访问的。你可以在创建子线程的时候把这个指针传递给子线程,或者发消息给子线程也可以。
独孤过儿
2008-02-21
打赏
举报
回复
IPC问题...
楼主去google,关键字是“进程间通信 方式”...
xxmv99
2008-02-21
打赏
举报
回复
看来用3L的2,3可以实现
yjukh
2008-02-20
打赏
举报
回复
上面的方法好像不行,
我是想在 主线程中声明并动态创建一个空间
让子线程去更新该空间的数据
wisdosoft
2008-02-19
打赏
举报
回复
主线程动态创建的变量,在自己的堆栈空间,字线程很难访问,需使用全局数组。
另外就是使用WM_COPYDATA消息拷贝变量供子进程使用,但要密切注意线程间的同步。
erwin1984
2008-02-19
打赏
举报
回复
作为参数传入子线程或者做为全局变量吧。
missilery
2008-02-19
打赏
举报
回复
向线程发送消息
PostThreadMessage
lala_benben
2008-02-19
打赏
举报
回复
1。主线程把数据作为参数传递给子线程
2。开辟共享内存。。
3。使用全局变量
线程
间
通信方式3:消息传递方式
线程
间
通信方式3:消息传递方式的演示。采用计算演示
线程
的执行,并采用用户界面
线程
来实时显示执行的进度,
线程
间
的通信方式采用了3种方式相结合,对多
线程
间
的通信有比较好的学习和研究价值。
Linux C语言函数大全.rarWindows 2000提供的常用对象可分成三类:核心应用服务、
线程
同步和
线程
间
通讯。其中,开发人员可以使用
线程
同步对象来协调
线程
和进程的工作,以使其共享信息并执行任务。此类对象包括互锁数据、临界段、事件、互斥体和信号等。
Windows 2000提供的常用对象可分成三类:核心应用服务、
线程
同步和
线程
间
通讯。其中,开发人员可以使用
线程
同步对象来协调
线程
和进程的工作,以使其共享信息并执行任务。此类对象包括互锁数据、临界段、事件、互斥体和信号等。
实现
Windows下异步串口通讯详解(C语言)
在Windows下使用Win32API
实现
异步串口通讯,包括C语言代码的分析
吕鑫:【C++语法与数据结构第25天】【第3堂课】多
线程
与TCP通讯流程
1、讲解和演示通过多
线程
技术,
实现
接收端和发送端在同一进程内同时运行; 2、讲解和演示TCP通讯流程;
linux下c语言
实现
xml传输方式的即时通讯
linux下c语言
实现
xml传输方式的即时通讯
C语言
70,022
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章