Java线程

您所在的位置:网站首页 java创建线程的方法有 Java线程

Java线程

#Java线程| 来源: 网络整理| 查看: 265

多线程的优缺点 多线程的优点 提高了CPU的使用率;改善程序结构,使复杂的程序分为多个线程独立运行;提高了程序的响应; 多线程的缺点 对共享资源进行访问时容易出现线程安全问题;增加了线程,对CPU的要求相应提高;占用了更多的内存; 线程安全的解决方案

解决线程安全的办法就是给共享资源加锁,使同时只能有一个线程进入到共享资源中;

通过关键字synchronized加锁

synchronized有两种使用方法,一种是给代码块加锁,另一种是给方法加锁;

synchronized对代码块儿加锁

同步锁必须是两个线程的共同对象, 如实现Runnable接口的任务对象;

synchronized对方法加锁 非静态方法默认是this 即创建的此类对象静态方法是在一个class类上进行标记 通过ReentrantLock加锁

创建ReentrantLock对象调用 lock()与 unlock()进行加锁与解锁 通过创建ReentrantLock对象不能给对象加锁

wait()与sleep()的区别 相同点

两者都可以让线程进入阻塞状态

不同点

sleep()是让线程阻塞指定时间, 到达指定时间都会自己进入就绪状态, 不会释放锁,其他线程无法进入 是Thread类中的方法 通过Thread调用

wait()是让线程进入阻塞状态,不会自己“苏醒”, 需要其他线程通过notify()方法唤醒, 会释放锁,让其他线程进入 是Oject中的方法,通过Oject进行调用



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3