线程疑问!
就是一个sleep和join有什么区别还有就是不是很明白synchronized的作用,是解决随即问题还是解决不随即问题呢!
----------------解决方案--------------------------------------------------------
比较深奥的了
join不太记得了
说说sleep:sleep就是挂起自己,指定时间后再次进入active状态参与cpu资源竞争
synchronized是java语言提供的同步语法,用于在某个块上加锁防止线程资源竞争
这里面需要理解的是Thread与java的对象世界的关系
线程和java的类对象是没有任何关系的,他们是并行的不在一个澄面上的东西
线程可以挂到任何java类对象上
那么怎样保证线程资源不会发生冲突呢,就使用synchronized
线程由jvm控制,通过synchronized我们可以锁定某个资源,防止其他线程竞争,这个是jvm通过synchronized语法实现的
----------------解决方案--------------------------------------------------------
有的线程一定要用join 但是有的时候就不需要!如果join等待线程完毕的话,那就不会引起冲突了,也不需要同步了啊!,可能我肯定在哪个地方一直没有搞明白,所以一直搞来搞去额!
----------------解决方案--------------------------------------------------------
join应该只是提供了一种同步的策略,不过这个join表示的更加是一种流程性的东西就是必须先执行完然后才能作什么
----------------解决方案--------------------------------------------------------