| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 412 人关注过本帖
标题:请教:多线程的问题?(Linux OS)
取消只看楼主 加入收藏
mini_peng
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-4-2
结帖率:0
收藏
已结贴  问题点数:5 回复次数:1 
请教:多线程的问题?(Linux OS)
问题:子线程(void * thread)运行着端口监听程序,且工作正常。但为何主程序里的while(1){.....}只执行一次而不是永久循环下去?(dlog.txt文件中只有一行数据,正常情况下应该有多行才对。)
我的本意是想一个线程执行TCP端口监听并执行接收的指令,而主线程同时在不停地接收数据。两个线程中都有一个while(1){......}。
源码如下:

int main()
{
        pthread_t tid;               
        printf("this is  main thread.\n");
        pthread_create(&tid, NULL, thread, NULL);
        //pthread_join(tid, NULL);
        
        printf("the Server listening......\n");

        while(1)
        {
                //printf("kk\n");
                system("date >> dlog.txt");
                sleep(1000);
        }    //经过测试,只有主线程不结束,子线程才有效。
        
        return 0;

}
//------------------------------------------------

void *thread(void *vargp)
{        
        printf("this is  second thread.\n");
        tcp_svr_Listen_fun();
        
        return NULL;
}
搜索更多相关主题的帖子: thread 多线程 主程序 Linux 
2014-12-21 00:24
mini_peng
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-4-2
收藏
得分:0 
谢谢,我用的是MAC   OSX10.9,

不过,你说的 linux只有纤程概念。这个我要查查。我还以为是线程呢。

我运行的程序,在后面看有2个线程。不知是线程还是纤程。

[ 本帖最后由 mini_peng 于 2014-12-21 23:10 编辑 ]
2014-12-21 23:08
快速回复:请教:多线程的问题?(Linux OS)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011920 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved