社区
C语言
帖子详情
如何用C实现线程间的数据通讯?
yjukh
2008-02-19 11:55:21
如果是普通对象,到可以正常读写。
但若在主线程中动态创建了一个数组,在子线程中却不能访问,有没有比较好的方法?
我是用CVI做的,C语言。
...全文
746
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语言
实现
的多
线程
高速极性码解码器。_Multi-thread high-speed polar code decod
用C语言
实现
的多
线程
高速极性码解码器。_Multi-thread high-speed polar code decoders implemented in C++..zip
吕鑫:【C++语法与数据结构第25天】【第3堂课】多
线程
与TCP通讯流程
1、讲解和演示通过多
线程
技术,
实现
接收端和发送端在同一进程内同时运行; 2、讲解和演示TCP通讯流程;
C语言
70,026
社区成员
243,244
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章