linux主线程结束 子线程还能运行么,linux主线程和子线程

"读了三遍,愣是没读懂楼主想说啥。######@java_zf 我现在在做的一个项目用到了多线程,我就在项目中子线程调用的一个函数中加了个sleep。你可以写个简单的代码试一下,应该比较简单。你试验的结果不一样吗?我这个项目是Linux下的。######我看下你的代码。######刚试了下,不在run中也有效。######扼,呵呵 其实就是不在run方法体中的Thread.sleep()这句话是有效的呢还是无效的呢?######不在自建线程,就在主线程,肯定是有效的吧######

不加 不就无效么######

引用来自“zcj”的答案

读了三遍,愣是没读懂楼主想说啥。

回复

@zcj : 不一样,我的就是一个类实现了Runnable接口,然后它有3个方法,一个是主函数,一个run方法,一个是test方法。首先主函数里面实例化这个类,然后实例化Thread将这个类传给Thread然后start()开启一个线程,  这个线程就会执行那个run的方法体,所以run的方法体中的Thread.sleep会执行,而用实例化类的引用调用那个test方法时,并不会执行那个Thread.sleep(),所以我才这么认为的,不知道你看明白我说的了么?

######回复

@java_zf : 那sleep就没用了######回复

@zcj : run没有调用test呢?######我是用C语言试的。你的例子中如果run调用了test的话sleep应该会有作用的。Java中创建线程start后新线程只会调用run方法,也就是说run就相当于新线程的main函数。######

我也没读懂是什么意思。######

不是太熟悉java的线程,但是想到一些问题:

Thread 的start方法 会新启动一个 线程 ? 那么原来的main函数 是不是 也运行在另外一个线程里面, 所以现在有两个线程, 主线程 和 新启动的线程

而run方法中的调用Thread.sleep() 是会使哪个线程sleep掉呢?######子线程会sleep,主线程不会, 但是若调用子线程对象.sleep()方法, 则子线程不会sleep,而主线程会sleep。 我以为该帖子是在这个经典问题呢,但是现在看好像不是。######

看不懂到底问的是啥。

Thread.sleep()  让当前运行的线程停下来。######很HIGH的进来,很失望的留言。。

######使用了同一把锁的问题。"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值