摘要: 一旦被初始化就不可以被改变。 String s1 = new String("abc"); String s2 = "abc"; System.out.println(s1==s2);//false System.out.println(s1.equals(s2));//true String类复写 阅读全文
posted @ 2020-04-01 23:51 hongxiao2020 阅读(188) 评论(0) 推荐(0)
摘要: setPriority(Thread.MAX_PRIORITY|Thread.MORN_PRIORITY|Thread.MIN_PRIORITY) 10 5 1yield():暂停当前正在执行的线程对象,并执行其他线程。 阅读全文
posted @ 2020-04-01 16:59 hongxiao2020 阅读(328) 评论(0) 推荐(0)
摘要: 当A线程执行到了B线程的join()方法时,A就会等待,等B线程都执行完,A才会执行。 join可以用来临时加入线程执行。 class Demo implements Runnable{ @Override public void run() { for (int i = 0; i < 20; i+ 阅读全文
posted @ 2020-04-01 14:01 hongxiao2020 阅读(528) 评论(0) 推荐(0)
摘要: 将该线程标记为守护线程或用户线程。当正在运行的线程都是守护线程时,java虚拟机退出。 必须在启动线程前调用。 class StopThread implements Runnable { private boolean flag = true; @Override public void run( 阅读全文
posted @ 2020-04-01 13:43 hongxiao2020 阅读(401) 评论(0) 推荐(0)
摘要: stop()已经过时. 停止线程:run()方法结束。 开启多线程运行,通常代码都是循环结构。 只要控制住循环,就可以让run()结束,也就结束了线程。 class StopThread implements Runnable { private boolean flag = true; @Over 阅读全文
posted @ 2020-04-01 13:29 hongxiao2020 阅读(486) 评论(0) 推荐(0)
摘要: class Res { private String name; private int count = 1; private boolean flag; public synchronized void set(String name) { while (flag) { try { this.wa 阅读全文
posted @ 2020-03-31 21:52 hongxiao2020 阅读(338) 评论(0) 推荐(0)
摘要: 等待唤醒机制: wait(),notify(),notifyAll()都使用在同步中,因为要对持有监视器(锁)的线程操作。 所以要使用在同步中,因为只有同步太具有锁。 定义在Object类中是因为这些方法在操作同步中线程时,都必须要标识他们所操作线程持有的锁,只有同一个锁上的被等待线程可以被同一个锁 阅读全文
posted @ 2020-03-31 17:37 hongxiao2020 阅读(257) 评论(0) 推荐(0)
摘要: class Ticket implements Runnable { private static int tick = 100; boolean flag = true; @Override public void run() { if (flag) { while (true) { synchr 阅读全文
posted @ 2020-03-28 21:18 hongxiao2020 阅读(211) 评论(0) 推荐(0)
摘要: 1.明确哪些代码是多线程代。 2.明确共享数据。 3.明确多线程运行代码中哪些语句是操作共享数据的。 synchronized作为修饰符放函数上。同步函数使用的锁是:this验证:开启两个线程,一个同步代码块,一个同步函数。 class Ticket implements Runnable { pr 阅读全文
posted @ 2020-03-28 19:55 hongxiao2020 阅读(616) 评论(0) 推荐(0)
摘要: 通过卖票程序发现问题重复售票或者售票负数 class Ticket implements Runnable{ private int tick=100; @Override public void run() { while (true){ if (tick>0){ try { Thread.sle 阅读全文
posted @ 2020-03-28 19:39 hongxiao2020 阅读(255) 评论(0) 推荐(0)