如题目。
谢谢

解决方案 »

  1.   

    不明白你的意思
    new了记住delete就安全
      

  2.   

    没有任何控制的时候不是线程安全,应该自己控制一下,比如LOCK某些正在操作的内存
      

  3.   

    或者说并发 new 是否能有正确的结果?
      

  4.   

    虽然不能给予你肯定或者否定的答复,
    不过建议你做一些线程保护。猜测应该是线程安全的,
    试想我们经常调用别的dll,而这些dll和我们是共用进程的地址空间的,
    它们里面往往含有线程和new,可我们从来不曾关注过要做线程保护当然了,跨进程肯定是安全的。因为地址空间不同。不会有危险
      

  5.   

    只要保证释放就没有问题,New会自己做互斥处理的
      

  6.   

    Featured(我握着爱情的门票静静排队……) 这可能会涉及VC60在实现关键字new的代码。
    现在我希望我所设计的类在默认的new下可以在多线程下得到正确的地址空间(仅仅new就够了),设想我每要一个几BYTE到几十BYTE的对象居然要去再写一些Lock之类的代码,是很不值得的。如果不是线程安全那甚至要自己管理这些空间了,惨。
      

  7.   

    suxk(逍遥小子)
    你的说法是我所猜想的,但我希望能有很确定的依据。thanks
      

  8.   

    只要有足够的空间,new是安全的。
      

  9.   

    new应该和线程关系不大吧。可能同时对一个变量new的话,可能会有内存泄漏,不会出现内存访问错误异常。
      

  10.   

    new出来的东东一定记得释放,多线程要控制好就行了,有始有终就是安全的
      

  11.   

    MuseIn(air supply * 学好Linux)
    依据?
      

  12.   

    安全的,但要记住每个线程都要DELETE。
      

  13.   

    楼上们,释放和线程安全不安全我想没什么关系吧.
    new的多线程是不安全的,多个线程操作一块内存的时候并没有互斥的操作,你线程A刚读进来操作好准备放回去可能就会把刚刚线程B的操作给抹了,还是要做一些人为的程序判断,比如A操作的时候锁定那一块,具体参考<<操作系统原理>>另外不通过特殊手段根本没法跨进程访问,所有别的进程的new出来的空间当然是安全的!
      

  14.   

    RockHwnd(0 error(s), 0 warning(s), Many bugs) 在Window上内存是有最小的分配单元的,而这个单元通常大于一个对象,那就意味着new或malloc等不一定每次都调用Window API,那么就需要对堆进行管理。然而这些new(获得空间的代码)是否线程安全?我不是关心对内存空间的并行访问问题,而是获得空间时的并发问题。请赐教。
      

  15.   

    我认为是安全的,它是在进程的堆上分配,就像HeapAlloc之类的函数不指定heap_no_serialize 时的情况吧
      

  16.   

    不是安全的!因为new 要调用构造函数!构造函数只能由程序员保证!