您的位置:首页 > 编程语言 > Java开发

Java线程

2016-07-31 03:30 239 查看
线程与进程的区别:

进程是线程的容器,不同进程间相互独立,同一进程不同线程间资源共享。

进程间通信需要特殊方法,比如管道,线程间通信可以通过共享变量。

java有两种方法创建线程,优先使用Runnable接口,因为java只支持单继承。

简单的线程调度:



常用方法:



sleep()是静态方法。

重写run()方法不能throws Exception。

终止线程最好方法:可以设置一个boolean变量。

synchronized

1.修饰方法放到public后面(不能被继承)

同一时间只有一个线程可以访问synchronized方法,当一个线程调用一个synchronized方法时,其他线程想要再调用该方法,或调用该类其他synchronized方法时会被阻塞,但可以调用其他非synchronized方法

2.修饰代码块(锁定某个对象或当前对象)

synchronized(this) {

代码

}

总结:无论synchronized关键字加在方法上还是对象上,如果它作用的对象是非静态的,则它取得的锁是对象;如果synchronized作用的对象是一个静态方法或一个类,则它取得的锁是对类,该类所有的对象同一把锁。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: