java多线程,求大神~~

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java多线程,求大神~~相关的知识,希望对你有一定的参考价值。

class Righthand extends Thread
public void run()
for(int i=0;i<=5;i++)
System.out.println("Righthand!");
try sleep(500);
catch(InterruptedException e)




class Lefthand extends Thread
public void run()
for(int i=0;i<=5;i++)
System.out.println(" Lefthand!");
try sleep(500);
catch(InterruptedException e)




public class BoxDemo
static Lefthand left;
static Righthand right;
public static void main(String[] args)
left=new Lefthand();
right=new Righthand();
left.start();
right.start();


这个sleep(500)是什么意思
catch(InterruptedException e)是什么意思
最后这个start()是内置函数吗

volitile是不能保证线程对共享资源获取是同步的,volitile只能保证被修改的数据不会存在于cpu的缓存中,而是直接刷新回内存,这样可以保证所有对资源共享的线程都是从内存中直接读取相同的数据,而就不存在一部分线程读内存中的数据而另外一部分读缓存中的数据,造成数据的可视性不一致了。使用volitile和非volitile修饰的变量同样是不存在粒子性的,其自加和自减操作在jvm的实现中都是分多步进行的,1、gefiled,2、将域值放入栈帧的局部变量区,3、将局部变量区的数据取得后放入操作数栈进行运算4、计算完成返回结果后再putfield。这样在多线程中对共享资源的同步使用volitile同样是非线程安全的。对共享资源同步的保险方法是使用synchronized方法,每个对象只有一个对象锁,jvm负责监控对象锁,当对象锁被某个线程取得时,jvm对对象锁的计数变为1,此时jvm将不会允许其它线程获得此对象的对象锁。将共享资源的运算以及获取放入synchronized方法中,同时将共享资源修饰为volitile,这样就可以做到双保险了。Synchronized修饰的方法是隐式的锁技术,可以使用Lock进行细粒度的锁控制,在Lock对象未调用unlock方法之前,非持有对象锁的进程均无法进入Lock.lock()…………Lock.unlock()这块区域。 参考技术A sleep(500)就是线程暂停500毫秒,
catch(InterruptedException e)是异常捕获,如果发生InterruptedException异常,会跳转到这里执行,
start是继承自Thread的方法,就是启动线程。本回答被提问者采纳

红黑树-算法大神的博客-以及java多线程酷炫的知识

http://www.cnblogs.com/skywang12345/p/3245399.html

解释第5条:从 ->根节点(或者任意个结点)到->所有的末端节点的路径中 ->黑色节点 数目相同

《一代宗师》,不比武功比想法 

计算机中最为重要的课程

1.数学(线性代数,概率统计,集合论图论,矩阵理论)

2.数据结构与算法

3.操作系统

 

以上是关于java多线程,求大神~~的主要内容,如果未能解决你的问题,请参考以下文章

java 线程启动不了 求大神解决下谢谢

Java如何实现线程的暂停和重新启用?求大神

java 多线程

java 多线程死循环怎么动态传参?急!

java定时任务使用多线程webservcie执行了两次这是为啥?

汪大神Java多线程编程实战