Java
文章平均质量分 52
沫风
这个作者很懒,什么都没留下…
展开
-
java多线程:创建、join方法
一、进程和线程的区别 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1–n个线程。 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。 线程和进程一样分为五个阶段:创建、就绪、运行、阻塞、终止。 新建状态(New):新建的线程处于新建状态,如:Thread t = new MyThread();原创 2016-09-10 22:48:28 · 403 阅读 · 0 评论 -
java多线程:中断
一、java中终止线程主要有三种方法: ①线程正常退出,即run()方法执行完毕了 ②使用Thread类中的stop()(已过期不推荐使用)方法强行终止线程。 ③使用中断机制 t.stop()调用时,终止线程,会导致该线程所持有的锁被强制释放,从而被其他线程所持有,因此有可能导致与预期结果不一致。下面使用中断信号量中断非阻塞状态的线程中:public class TestStopThread原创 2016-09-11 08:53:27 · 536 阅读 · 0 评论 -
java多线程:wait(),notify(),notifyAll()方法
java.lang.Object类中提供了两个用于线程通信的方法:wait()和notify()。如果线程对一个同步对象this发出一个wait()调用,该线程会暂停执行,直到另一个线程对同一个同步对象this也发出一个notify()调用,释放加在对象上的“锁”。 为了让线程对一个对象调用wait()或notify(),线程必须锁定那个特定的对象。 也就是说,只能在它们被调用的实例的同步块内使原创 2016-09-10 23:02:52 · 423 阅读 · 0 评论 -
Description Resource Path Location Type Cannot change version of project facet Dynamic Web Module to
eclipse里找到先.setting文件夹下的 org.eclipse.wst.common.project.facet.core.xml文件 faceted-project> fixed facet="wst.jsdt.web"/> installed facet="jst.web" version="2.3"/> installed facet="wst.jsdt.we原创 2016-10-10 19:35:22 · 242 阅读 · 0 评论 -
java多线程:synchronized
一、synchronized的使用 java的synchronized关键字能够修饰方法和语句块,也就是同步方法和同步语句块。synchronized()并不是保护数据不被访问,只是保证同一时刻只有一个线程在运行。 1. 数据私有 2. 所有的访问都同步化 3. 用数据本身做钥匙 synchronized (object) { // } 钥匙在对象中,而不在代码中。 每个对象有一个原创 2016-09-11 12:12:02 · 365 阅读 · 0 评论