社区
C语言
帖子详情
如何用C实现线程间的数据通讯?
yjukh
2008-02-19 11:55:21
如果是普通对象,到可以正常读写。
但若在主线程中动态创建了一个数组,在子线程中却不能访问,有没有比较好的方法?
我是用CVI做的,C语言。
...全文
740
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:消息传递方式”着重介绍了通过消息传递
实现
线程
间
的通信。下面将详细阐述这种通信...
Linux C语言函数大全.rarWindows 2000提供的常用对象可分成三类:核心应用服务、
线程
同步和
线程
间
通讯。其中,开发人员可以使用
线程
同步对象来协调
线程
和进程的工作,以使其共享信息并执行任务。此类对象包括互锁数据、临界段、事件、互斥体和信号等。
Windows 2000提供的常用对象可分成三类:核心应用服务、
线程
同步和
线程
间
通讯。其中,开发人员可以使用
线程
同步对象来协调
线程
和进程的工作,以使其共享信息并执行任务。此类对象包括互锁数据、临界段、事件、互斥体...
实现
Windows下异步串口通讯详解(C语言)
###
实现
Windows下异步串口通讯详解(C语言) #### 一、异步非阻塞串口通讯的优点 在Windows环境下,通过Win32 API
实现
的异步串口通讯具有显著的优势,尤其是在提高应用程序响应性和处理高负载任务时表现突出。 *...
吕鑫:【C++语法与数据结构第25天】【第3堂课】多
线程
与TCP通讯流程
1、讲解和演示通过多
线程
技术,
实现
接收端和发送端在同一进程内同时运行; 2、讲解和演示TCP通讯流程;
linux下c语言
实现
xml传输方式的即时通讯
在Linux环境下,使用C语言
实现
XML传输方式的即时通讯是一个涉及多方面技术栈的项目。以下将详细解析这个主题中的关键知识点。 首先,C语言是系统级编程的基础,它的低级特性和高效性能使得它非常适合在Linux这样的...
C语言
70,022
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章