Java Synchronization

  多线程中如果多个线程同时访问一个资源,可能会程序输出异常等不正常运行的结果。意思是当不同的两个线程(Thread)T1和T2同时访问一个txt文件时,T1对文件进行了编辑并需要返回一个特定的值,而T2如果在T1执行的过程中修改了txt文件的内容,就可能造成T1返回一个错误的值,为了解决这种情况,我们就需要运用Synchronization(同步化)。

  如果需要防止多个线程同时访问一个不该同时访问的资源,那么我们就需要synchronized不想要线程同时访问的代码块,就是在代码块前加synchronized关键字,具体一个例子如下:

  {

    fobj.display(msg);

  }

  变为

  {

    synchronized (fobj){
    fobj.display(msg);

  }

其中fobj是一个类的一个对象。

posted @ 2017-03-26 23:02  Barry_Allen  阅读(208)  评论(0编辑  收藏  举报