为什么要使用多线程编程?线程同步的方法主要有哪些?

如题所述

多线程就象是人体一样,一直在并行的做许多工作,例如,人可以同时呼吸,血液循环,消化食物的。多线程可以将一个程序划分成多个任务,他们彼此独立的工作,以方便有效的使用处理器和用户的时间.这种比喻精辟,只要我们的机器资源够用,就要尽量提高程序的执行速度,这样能让用户感到舒服。
线程同步的方法:
wait():使一个线程处于等待状态,并且释放所持有的对象的lock。
sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。
notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。
Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-14
选用多线程模式,一般都是为了追求高的运行效率。
线程同步一般有如下几种方法:互斥、临界区、信号量等。
不同的编程语言大都采用这几种同步方法,除了极个别的没有使用操作系统提供的线程同步机制的(比如:erlang)。
第2个回答  2011-06-17
线程描述了进程内代码的执行路径。在同一进程中运行不同的线程的好处是这些线程可以共享进程的资源,各个
线程也可以有自己的私有堆栈用于保存私有数据。
同步方法:1 临界区对象;2 互锁函数;3 事件内核对象;4 信号量内核对象;5 互斥内核对象
相似回答