当前位置:  技术问答>linux和unix

求教 Linux多个线程 可不可以同时调用一个函数

    来源: 互联网  发布时间:2016-11-02

    本文导语:  本人初学LINUX编程,有个问题想求教: 在LINUX里,同一个进程下的多个线程都在一个地址空间里,那可不可以在A线程中调用C函数,在B线程中调用C函数,当两个线程同时调用了C函数,会发生什么问题吗? LINUX里有什...

本人初学LINUX编程,有个问题想求教:
在LINUX里,同一个进程下的多个线程都在一个地址空间里,那可不可以在A线程中调用C函数,在B线程中调用C函数,当两个线程同时调用了C函数,会发生什么问题吗?
LINUX里有什么办法可以设置某个函数为可重入函数吗?还是说,LINUX的线程机制可以保证两个线程不会同时调用一个函数?

|
可以调用,前提是这个函数是可重入的--这样才没有副作用。
关于lz所担心的问题,建议la去看看编译原理相关知识,弄明白什么叫代码段,什么叫堆栈

|
可以用锁,信号量等来保证对临界代码的访问。

|
可重入函数要确保函数中没有使用静态变量,另外也不要调用其它线程不安全的函数
从书上可以找到线程安全函数的列表

|
我也是来学习的

  如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。
  或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题。
  线程安全问题都是由全局变量及静态变量引起的。
  若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的;若有多个线程同时执行写操作,一般都需要考虑线程同步,否则就可能影响线程安全。

    
 
 

您可能感兴趣的文章:

  • linux的线程是由进程模拟的吗?求教。
  • 求教多线程模拟最高响应比算法!
  • 求教JAVA中的延时函数!不是用于线程中的!
  • 求教,关于pthread_join 以及线程之间关系的问题
  • 求教:这个线程为什么停不下来?
  • [求教]关于java的线程问题,谢谢帮忙 问题如下: ...........
  • 有关线程的一些数据结构及函数求教。。
  • 紧急求教!多线程+段错误!
  • 在linux 平台下写了 个线程 模拟操作系统 读者写者问题 有错误 求教
  • 新手求教QT4 Qthread线程问题!求帮忙看看code谢谢!
  • 求教,bash脚本如何调用含键盘输入的可执行文件。
  • 求教!!!VC应用调用Java模块可行吗?
  • 求教,如何调用shell命令!!!
  • 求教一个非常简单的关于shell脚本调用的问题
  • C调用shell脚本出现问题,在线等待求教高手
  • 求教:在weblogic5.1中,jsp调用javabean,问javabean的class文件应放在哪个目录下?
  • 求教:如何在用C++编写的server中调用Linux命令
  • 求教java调用数据库时汉字正确显示问题
  • 求教高手:有关DLL调用中参数传递问题???
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求教求教,shell问题...各位大哥,帮忙下
  • 400分求教: 求教一简单问题,现场给分
  • 高分求教:如何将JAVA文件(.class)制作成可执行文件(.exe),求教方法或工具推荐
  • 急!!求教linux命令的使用:统计出/bin目录中文件的个数,追加到文件filea的结尾
  • 求教:在UNIX中查找包含指定文字的文件名
  • 小白菜求教linux大鸟
  • JDK1.3.1初级问题求教
  • 初学者有问题求教!
  • 各路高手请进!高分求教,非常着急!
  • 高分求教的问题(关于SendMail设置)
  • 简单问题:从sun网站上当了个jdk1.4b3,bin后缀,求教怎么安装
  • 求教:知道当前时间,如何得到N天前的时间 ?
  • 求教:switch(condition)中的condition 必须为整型吗?
  • Linux远程访问的问题,高分求教:)
  • 求教:在Linux下如何做代理服务器?
  • 紧急求教!究竟Java里面有没有相当于C++的CPOINT的类阿?
  • 求教JAVA中XML解析问题
  • 50分求教,在JSP里如何将String转换成Double
  • 我刚装好,是不是需要配制环境变量?求教。
  • 400分求教JAVA皮肤的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3