社区
C#
帖子详情
多个线程访问同一个static函数的问题
SadEmprie
2009-08-18 10:49:26
比如在一个socket服务器中,多线程接收数据,收到后调用另一个静态类中的静态方法去处理收到的数据,那么会出现什么现象呢,线程是否会自动排队呢?
...全文
313
6
打赏
收藏
多个线程访问同一个static函数的问题
比如在一个socket服务器中,多线程接收数据,收到后调用另一个静态类中的静态方法去处理收到的数据,那么会出现什么现象呢,线程是否会自动排队呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dancingbit
2009-08-18
打赏
举报
回复
但是静态方法不能直接使用非静态成员,而允许使用的静态成员又是类唯一的。
所以,如果使用类本身的静态成员的话,需要注意同步,注意并发控制。
dancingbit
2009-08-18
打赏
举报
回复
不存在排队不排队的事情,多线程并行执行,是从这些线程中调用其他方法,其他方法就会使用这个线程的线程栈。
yixianggao
2009-08-18
打赏
举报
回复
[Quote=引用楼主 sademprie 的回复:]
比如在一个socket服务器中,多线程接收数据,收到后调用另一个静态类中的静态方法去处理收到的数据,那么会出现什么现象呢,线程是否会自动排队呢?
[/Quote]
会逐个执行,但是执行顺序与线程启动顺序可能不一致!
lalac
2009-08-18
打赏
举报
回复
需要自己处理的
robin521
2009-08-18
打赏
举报
回复
估计不会排队,你自己也说是线程调用嘛,只是线程本身的吮吸会乱!
michaelnami
2009-08-18
打赏
举报
回复
静态方法应该是在栈中的吧 好像不存在这个问题??学习
《c语言深度解析》第3、4章 存储类、生命周期、作用域、链接域,指针与
函数
课程内容: 第3章: 存储类与auto、
static
、register关键字 指令、常量、变量的生命周期 变量与
函数
的作用域 链接域与extern、
static
关键字 声明的意义 第4章: 存储空间、符号、地址 一级指针与多级指针 野指针与段...
Static
静态成员
函数
-与多
线程
1.普通成员
函数
可以处理静态成员,普通成员
函数
跟着对象走,有this指针。 静态成员属于类,因此类名::也可以处理
Static
成员。在运行栈结构里有this指针。 2.静态成员
函数
只能处理静态成员,没有this指针。 静态成员
函数
属于类。 3.
线程
函数
是进程一部分,OS调用
线程
函数
没有this指针,this指针只C++语言的特性与操作系统无关。因此,从这个角度来说,t
多
线程
访问
同一
函数
多个
线程
访问
同一
函数
时,一般情况下是互不影响的,但是当
函数
中存在全局变量或是
static
静态变量时,各个
线程
会得到不确定的结果
C#使用
线程
锁Lock来保证在多
线程
访问
时
同一个
函数
(文件)同一时间只有一个
线程
在操作
C#使用
线程
锁来保证在多
线程
访问
时
同一个
函数
(文件)同一时间只有一个
线程
在操作
【笔记】C++ 多
线程
:进程同时创建5个
线程
,各自调用
同一个
函数
;
线程
调用的
函数
在一个类中,且应将该
函数
声明为静态成员
函数
;进程创建时设置pthread_attr_t属性及join功能;互斥锁的实现
注: os:ubuntu 10.04 c++ 1. 进程同时创建5个
线程
,各自调用
同一个
函数
#include <iostream> #include <pthread.h> //多
线程
相关操作头文件,可移植众多平台 using namespace std; #define NUM_THREADS 5 //
线程
数 void* say_hello( void* args ) { cout << "hello..." << en..
C#
110,561
社区成员
642,566
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章