什么是线程同步?
当使用多个线程来访问同一个数据时,非常容易出现线程安全问题(比如多个线程都在操作同一数据导致数据不一致),所以我们用同步机制来解决这些问题。
实现同步机制有两个方法: 1。同步代码块: synchronized(同一个数据){} 同一个数据:就是N条线程同时访问一个数据。 ...
分类:
其他好文 时间:
2014-05-08 10:15:37
阅读次数:
244
eventloop 用作 non-blockingIO 和定时器。threadpool
用来做计算,具体可以是任务队列或消费者-生产者队列任务对列,生产消费者 线程池TaskQueue、Producer-Consumer Queue、
CountDownLatchPTHREAD_MUTEX_ERRO...
分类:
其他好文 时间:
2014-05-08 10:09:52
阅读次数:
241
实际上,在Java应用中所有程序都运行在线程里,如果在程序中没有手工设置过ClassLoader,对于一般的java类如下两种方法获得的ClassLoader通常都是同一个this.getClass.getClassLoader();
Thread.currentThread().getConte....
分类:
其他好文 时间:
2014-05-08 09:39:17
阅读次数:
523
进程是程序在处理机中的一次运行。一个进程既包括其所要执行的指令,也包括了执行指令所需的系统资源,不同进程所占用的系统资源相对独立。所以进程是重量级的任务,它们之间的通信和转换都需要操作系统付出较大的开销。
线程是进程中的一个实体,是被系统独立调度和分派的基本单位。线程自己基本上不拥有系...
分类:
编程语言 时间:
2014-05-08 05:36:11
阅读次数:
323
线程的生命周期:新建状态:用new语句创建的线程对象处于新建状态,此时它和其它的java对象一样,仅仅在堆中被分配了内存就绪状态:当一个线程创建了以后,其他的线程调用了它的start()方法,该线程就进入了就绪状态。处于这个状态的线程位于可运行池中,等待获得CPU的使用权运行状态:处于这个状态的线程...
分类:
编程语言 时间:
2014-05-08 05:11:34
阅读次数:
280
线程有同步和异步之分。
同步的使用场景:多个线程同时访问一块数据,也叫共享区。对于多个线程同时访问一块数据的时候,必须使用同步,否则可能会出现不安全的情况。比如数据库中的脏读。但是,多个线程同时访问一块数据,有一种情况不需要同步技术,那就是原子操作,也就是说操作系统在底层保证了操作要么全部做完...
分类:
编程语言 时间:
2014-05-08 01:25:39
阅读次数:
349
1 wait方法:
该方法属于Object的方法,wait方法的作用是使得当前调用wait方法所在部分(代码块)的线程停止执行,并释放当前获得的调用wait所在的代码块的锁,并在其他线程调用notify或者notifyAll方法时恢复到竞争锁状态(一旦获得锁就恢复执行)。
调用wait方法需要注意几...
分类:
编程语言 时间:
2014-05-08 01:18:35
阅读次数:
403
TD校园助手软件开发计划书1.引言1.1编写目的为了保证项目团队按时保质地完成项目目标,便于项目团队成员更好地了解项目情况,使项目工作开展的各个过程合理有序,同时便于老师和其他同学了解我们的项目进程安排以给出宝贵的意见建议,因此以文件化的形式,把对于在项目生命周期内的工作任务范围、各项工作的任务分解...
分类:
其他好文 时间:
2014-05-08 01:17:33
阅读次数:
450
1. fork
创建新进程fork创建的新进程称为子进程,fork函数调用一次,返回两次。两次返回的唯一区别就是子进程的返回值是0,而父进程的返回值是新子进程的进程ID在fork之后是父进程先执行还是子进程先执行是不确定的,这取决于内核的调度算法fork的一个特性就是父进程的所有打开文件描述符都被复...
分类:
其他好文 时间:
2014-05-08 01:03:08
阅读次数:
361
线程控制基本方法方法功能isAlive()判断线程是否还“活”着,即当前run线程是否还未终止。getPriority()获得线程的优先级数值setPriority()设置线程的优先级数值Thread.sleep()将当前线程睡眠指定毫秒数join()调用某线程的该方法,将当前线程与该线程“合并”,...
分类:
编程语言 时间:
2014-05-08 00:56:56
阅读次数:
582