一 点 线 程 官 网 双程2016电影
中国接线端子网?
中国接线端子网是南京三门湾电器有限公司旗下的端子类的门户网站。
中国端子网是专业的接线端子及端子相关附件的信息交流平台,是大型的接线端子门户网。网站结合了接线端子的采购,营销及企业推广等服务还提供企业展示、企业广告、产品发布、产品采购、技术交流论坛等服务。
主要提供端子、接线端子、端子台、PCB端子、端子排、接线板、端子板等各种规格的接线端子产品及相关附件。
中国端子门户网,以作国内权威门户站为己任,努力进取,得到业内好评~~
8点报官网
www.15525
5,wait和sleet的区别
wait vt. 等候;推迟;延缓
vi. 等待;耽搁;伺候用餐
n. 等待;等候
sleet vi. 下雨夹雪;下冰雹
vt. 冻雨拍打;使下霰般落下
n. 雨夹雪;雨淞
从单词释意来说,这两个词并没有什么相似之处;此处如果问的是wait和sleep的区别,虽然在中文意思上分别是等待和睡觉的意思,但是在Java程序语句中,wait函数和sleep函数的使用是非常相似的。它们的区别:
1. sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非
(a)"醒来"的线程具有更高的优先级。
(b)正在运行的线程因为其它原因而阻塞。
2. wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。
为了具体区分它们的区别,这里引用《Think in Java》中一段程序来说明:
class ThreadA
{
public static void main(String[] args)
{
ThreadB b=new ThreadB();
b.start();
System.out.println("b is start....");
synchronized(b)//括号里的b是什么意思,起什么作用?
{
try
{
System.out.println("Waiting for b to complete...");
b.wait();//这一句是什么意思,究竟让谁wait?
System.out.println("Completed.Now back to main thread");
}catch (InterruptedException e){}
}
System.out.println("Total is :"+b.total);
}
}
class ThreadB extends Thread
{
int total;
public void run()
{
synchronized(this)
{
System.out.println("ThreadB is running..");
for (int i=0;i<100;i++ )
{
total +=i;
System.out.println("total is "+total);
}
notify();
}
}
}
"wait()允许我们将线程置入"睡眠"状态",也就是说,wait也是让当前线程阻塞的,这一点和sleep或者suspend是相同的。它们的区别在于"(wait)同时又"积极"地等待条件发生改变",这一点很关键,sleep和suspend无法做到。因为我们有时候需要通过同步(synchronized)的帮助来防止线程之间的冲突,而一旦使用同步,就要锁定对象,也就是获取对象锁,其它要使用该对象锁的线程都只能排队等着,等到同步方法或者同步块里的程序全部运行完才有机会.在同步方法和同步块中,无论sleep()还是suspend()都不可能自身被调用的时候解除锁定,它们都霸占着正在使用的对象锁不放。