草庐IT

SwingWorker-pool

全部标签

java - hibernate : closing the session factory does not close the c3p0 connection pool

我最近开始在我的应用程序中使用hibernate和c3p0作为ORM。但是,当我关闭session工厂时,连接池并没有自行关闭!这是我的应用程序中也是唯一的地方,我可以在其中对session执行任何操作。StatelessSessionsession=null;Transactiontransaction=null;try{session=sessionFactory.openStatelessSession();transaction=session.beginTransaction();Listlist=session.getNamedQuery("getAvailableThin

java - 为什么 SwingWorker 会意外停止?

我想尝试使用SwingWorker的一些想法,因为我没有太多地使用它。相反,我遇到了一个问题,但我不知道出了什么问题。这是一个简短的SSCCE这证明了这个问题(我知道这里的人喜欢SSCCE):importjavax.swing.SwingUtilities;importjavax.swing.SwingWorker;publicclassSwingWorkerTest{publicstaticvoidmain(String[]args){SwingUtilities.invokeLater(newRunnable(){@Overridepublicvoidrun(){newMySwin

Java - SwingWorker 和 SwingUtilities.invokeLater() 之间的区别

SwingWorker用于以下目的:用于在不同的线程中运行长时间运行的任务,以防止GUI无响应用于在任务结束时通过done()方法使用长时间运行的任务产生的结果更新GUI。在publish()和process()方法的帮助下,使用任务生成和发布的中间结果不时更新GUI。SwingUtilities.invokeLater()可以按如下方式执行上述任务:我们可以执行ExecutorService.submit(newMyRunnable())而不是从EDT执行SwingWorker.execute()方法,因为它还会创建另一个线程可以执行长时间运行的任务。为了在任务结束时更新GUI,我们

java - 多次执行SwingWorker

我希望能够多次使用SwingWorker子类。这可能吗?我已经阅读了java文档:SwingWorkerisonlydesignedtobeexecutedonce.ExecutingaSwingWorkermorethanoncewillnotresultininvokingthedoInBackgroundmethodtwice. 最佳答案 实现SwingWorker的类的一个实例确实只能运行一次。根据需要实例化并运行它们没有任何限制。 关于java-多次执行SwingWorker,

java - 即使使用包装类,SwingWorker 异常也会丢失

我一直在努力解决SwingWorker吃掉后台任务中抛出的任何异常的可用性问题,例如,描述onthisSOthread.该线程很好地描述了问题,但没有讨论恢复原始异常。我收到的小程序需要向上传播异常。但我什至没能捕获它。我正在使用thisblogentry中的SimpleSwingWorker包装器类专门尝试解决这个问题。这是一个相当小的类(class),但我会在最后重新发布它以供引用。调用代码大致类似try{//lotsofcodeheretopreparedata,finishingwithSpecialDataHelperhelper=newSpecialDataHelper(.

c++ - 如何让 boost::object_pool 线程安全?

在询问Isthereafasterheapallocation/deallocationmechanismavailablethanboost::object_pool?后,我得到反馈说这个对象池不是线程安全的。所以我写了一个ObjectFactory包装boost::object_pool并添加互斥锁:#includeusingstd::shared_ptr;#include#includetemplateclassObjectFactory{private:structSharedDeleter{ObjectFactory*m_pFact;SharedDeleter(ObjectF

c++ - 支持多态的Stored-by-Value Pool,如何使用智能指针?

介绍我有一个数据结构:值池。(不是指针池)当我调用create()时,它会返回Handle。到目前为止一切都很好。templateclassPool{std::vectorv;//storebyvalueHandlecreate(){....}}templateclassHandle{Pool*pool_;//pointerbacktocontainerintpool_index_;//whereIaminthecontainerT*operator->(){returnpool_->v.at(pool_index_);//i.e."pool[index]"}voiddestroy()

c++ - 在 VS2010 中使用 Boost.Pool - 链接器错误

Boost.Pooldocumentation说(强调我的):TheBoostPoollibraryisaheader-onlylibrary.Thatmeansthereisno.lib,.dll,or.sotobuild;justaddtheBoostdirectorytoyourcompiler'sincludefilepath,andyoushouldbegoodtogo!但是当我尝试在VS2010SP1中编译这样的代码时:#include#include#includeintmain(){typedefstd::basic_string,boost::pool_allocat

c++ - 如何防止在 boost::fast_pool_allocator 管理的对象上调用析构函数?

我想利用boost::fast_pool_allocator的以下广告功能(参见theBoostdocumentationforBoostPool):Forexample,youcouldhaveasituationwhereyouwanttoallocateabunchofsmallobjectsatonepoint,andthenreachapointinyourprogramwherenoneofthemareneededanymore.Usingpoolinterfaces,youcanchoosetoruntheirdestructorsorjustdropthemoffin

c++ - 澄清 "object pool"模式?

我的印象是,对象池是一种设计模式,用于管理一组预先分配的对象,客户端可以向这些对象请求并返回其中一个对象。但是,boost.pool的object_pool类似乎与低级内存管理有关,而不是对象管理。他们为什么使用这个名称,而不是像memory_pool这样的名称?我是不是误以为boost的对象池真的是一个内存池方案?或者它们本质上是一样的?另外,为什么没有更高级别对象池模式的标准实现? 最佳答案 在更彻底地阅读了boost.pool文档之后,我想我理解了我的困惑。我习惯于将对象池实现为分配和管理一组直接对象的类。考虑一下,templ