天嵌 ARM开发社区

 找回密码
 注册
查看: 1628|回复: 9

求助linux下面pthread问题

[复制链接]
xjg851013 发表于 2013-7-10 12:04:13 | 显示全部楼层 |阅读模式
本帖最后由 xjg851013 于 2013-7-10 16:41 编辑

今天把stepbystep完成了,试试编译个小程序,结果发现pthread不能循环代码如下
int main(void)
{
        int  err;
        pthread_t tid;

        loop =1;
     err = pthread_create(&tid, NULL,led_loop, NULL);
        if(err!=0)
        {
                printf("out\n");
                loop =0;
                exit(1);
        }
        return 0;
}

void *led_loop(void *arg)
{
        int led_no =0;
        while(loop)
        {
                printf("%d\n",led_no);
                led_no++;
                sleep(1);
        }


结果[root@EmbedSky /mnt]# ./leds                                                   
0               

只跑了一次,新手求问
wbz073 发表于 2013-7-10 15:13:37 | 显示全部楼层
亲,你这代码编译过了吗,看着语法都有问题哦
 楼主| xjg851013 发表于 2013-7-10 15:20:59 | 显示全部楼层
wbz073 发表于 2013-7-10 15:13
亲,你这代码编译过了吗,看着语法都有问题哦

编译过了的,能否指出问题在哪?
wbz073 发表于 2013-7-10 15:46:20 | 显示全部楼层
xjg851013 发表于 2013-7-10 15:20
编译过了的,能否指出问题在哪?

在while循环完,加return ((void*)0);看看
 楼主| xjg851013 发表于 2013-7-10 16:00:07 | 显示全部楼层
wbz073 发表于 2013-7-10 15:46
在while循环完,加return ((void*)0);看看

没用,一样的结果,只跑一次
 楼主| xjg851013 发表于 2013-7-10 16:19:37 | 显示全部楼层
结果一样,也是只跑一次,打ps没看到有这个进程在系统里
 楼主| xjg851013 发表于 2013-7-10 16:20:01 | 显示全部楼层
wbz073 发表于 2013-7-10 15:46
在while循环完,加return ((void*)0);看看

结果一样,也是只跑一次,打ps没看到有这个进程在系统里
wbz073 发表于 2013-7-10 16:20:17 | 显示全部楼层
xjg851013 发表于 2013-7-10 16:00
没用,一样的结果,只跑一次

加个pthread_join函数,让等待线程创建了
 楼主| xjg851013 发表于 2013-7-10 16:40:36 | 显示全部楼层
wbz073 发表于 2013-7-10 16:20
加个pthread_join函数,让等待线程创建了

:victory:确实是这个问题,以前习惯没加的,长知识了,感谢
wbz073 发表于 2013-7-10 16:58:34 | 显示全部楼层
本帖最后由 wbz073 于 2013-7-10 16:58 编辑
xjg851013 发表于 2013-7-10 16:40
确实是这个问题,以前习惯没加的,长知识了,感谢


给你把问题解决了就好了,那你可以吧这个帖子关掉了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-23 17:48 , Processed in 1.031250 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表