一般C++是需要锁住变量,写入完成才会允许其他线程操作,否则可能会出错,Java也要这样吗?

解决方案 »

  1.   

    当然要考虑多线程了,即使你的代码里没有体现多线程,你所用的一些框架已经使用了多线程。比如Java web中的serverlet。 即使你现在不考虑多线程,可能将来的某一天要改成多线程的。
      

  2.   

    什么语言也差不多,
    单线程的话,根本不用考虑线程同步;
    多线程的话,就一定要考虑线程同步啦,不然就不安全了~~JAVA里例子之一
    StringBuffer:同步,用于多线程,速度毕StringBuilder慢;
    StringBuilder:不同步,用于单线程,速度比StringBuffer快。
      

  3.   

    你们没懂我的意思,用户需要考虑多线程同步问题吗?一个设计好的应用程序,一般不应该让用户考虑这个问题,比如解码,多CPU时自动使用多线程,你不能让用户自己来操作这个事情。同样,高级语言,隐藏这种设置,其实C#就部分隐藏了,设置窗口标题,异步操作可能引发错误死锁之类的问题,它要求使用代表来封装一些,其实就是内部自动处理同步问题。