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

请教:关于C++类中方法线程调用的问题。

    来源: 互联网  发布时间:2016-03-07

    本文导语:  大家好。 请问一下,在C++的一个类中,它的一个方法能作为线程调用吗?我自己写了一个,好像不行,是我写错了还是就不可以啊? 可是如果把这个方法定义成static,就可以作为线程调用了。 再就是,如果把这个sta...

大家好。
请问一下,在C++的一个类中,它的一个方法能作为线程调用吗?我自己写了一个,好像不行,是我写错了还是就不可以啊?
可是如果把这个方法定义成static,就可以作为线程调用了。
再就是,如果把这个static方法作为线程调用的时候,这个方法又调用了这个类的一个对象中的数据成员,在这个对象析构后而这个线程没有退出的话会不会出问题啊?我自己写了个代码好像没有问题。还可以继续调用这个对象的数据成员,请高手指教。
谢谢!
#include 
#include 
#include 
#include 
#include 
using namespace std;

class test
{
        public:
                int i;
                test();
                ~test();
                bool startPthread();
        private:
                static void *print(void * thisobj);
};

test::test()
{
}

test::~test()
{
}

bool test::startPthread()
{
        pthread_t tid;
        pthread_attr_t attr;
        int ret;
        pthread_attr_init(&attr);
        pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED);
        pthread_attr_setscope(&attr,PTHREAD_SCOPE_SYSTEM);

        ret = pthread_create(&tid,&attr,&(test::print),(void*)this);
        pthread_attr_destroy(&attr);

        if(!ret)
        {
                return true;
        }
        return false;
}

void * test::print(void * thisobj)
{
        test *ptest = (test*)thisobj;
        int j;
        j = 0;
        for(;;)
        {
                j++;
                cout

    
 
 

您可能感兴趣的文章:

  • 请教学习c++有那些经典书籍?
  • 请教:unix或linux下的c++标准库在哪个目录??谢谢!
  • 请教: linux下用c++写最简单的socket程序如何写?
  • linux菜鸟请教:C++的学习
  • 请教:SCO OpenServer(TM) Release下能进行C++开发吗?
  • 请教个unix下c++编译器的问题
  • 请教:linux下C++与Flash怎么通讯
  • ¥¥¥¥¥请教,什么是LINUX上最好的C++集成开发环境
  • 请教一个关于C++的基础问题
  • 新手请教:请问如何将以前Windows平台下的c++工程改造到linux系统平台下
  • 请教为什么在C++编译通过并实现的程序,在linux下就会出错
  • 请教,linux下,C/C++编程时候默认的中文编码是什么?
  • 请教Linux下多线程C++编程
  • 请教linux下C++编译环境
  • 请教一个linux c++调试问题(关于内存泄露)
  • 请教:在solaris下测试C++程序是否存在内存泄漏等问题用什么测试工具?
  • 请教几个Linux下C++问题
  • 请教关于用c编译出来的.a文件和用c++编译出来的.a文件的互用问题
  • c++程序中使用pthread编译不过,请教大家?????
  • 请教各位大虾:Red Hat Linux 9.0中编译C++程序出现:/usr/bin/ld: cannot find -lm
  • 请教:线程中调用一个阻塞的方法后,进程及其它线程会阻塞么?
  • 请教大虾:),获取线程id的问题
  • 请教关于线程以及进程通行问题
  • 请教线程问题
  • 请教多线程优先级问题
  • 请教linux 2.6内核移植到arm上最大线程数量的问题。
  • 请教:pthread_join( )在等待一个已经退出的线程时为何会导致死锁?
  • 请教多线程程序的内存占用问题
  • 请教如何Kill线程?
  • 请教高手,线程问题,怎样暂停或杀掉多线程?
  • 请教:有什么工具可以“看”到系统中正在运行的线程?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教一个关于bean的调用问题
  • 请教:如何获得系统调用序列?
  • 请教一下在驱动里怎么调用应用程序
  • 请教gcc编程 问题 关于调用中断 实现 图形模式
  • 请教:java中如何调用linux下的静态连接库.a文件?
  • 请教一个定时调用问题
  • 请教在linux中如何动态的增加一个系统调用(模块中)
  • 请教:java中如何调用linux下的静态连接库.a文件?
  • 请教关于execl()调用的问题
  • 请教,JavaScript中能不能调用JSP写的函数?
  • 请教内核高手,抽空解释一下系统中断调用处理流程
  • 请教:系统调用的问题!
  • 请教Linux中调用系统命令问题
  • 请教各位大牛~~那个系统调用open()创建的是什么类型的文件?
  • 高分请教: 如何用Java调用带多个参数的EXE文件?
  • 请教各位,如何在JSP中调用SQL 过程?
  • 请教怎样在application中调用IE?
  • 请教一下,如何在英文FC3中调用输入法输入中文?
  • [虚心请教]为什么x86内核系统调用没有clone2?
  • 请教一个关于PROC中调用存储过程的问题
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)


  • 站内导航:


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

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

    浙ICP备11055608号-3