本文整理汇总了C++中WorkerThread::Join方法的典型用法代码示例。如果您正苦于以下问题:C++ WorkerThread::Join方法的具体用法?C++ WorkerThread::Join怎么用?C++ WorkerThread::Join使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WorkerThread
的用法示例。
在下文中一共展示了WorkerThread::Join方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: IocpServd_main
USING_NS_IOCPSERVD
NS_IOCPSERVD_BEGIN
int IocpServd_main(int argc, char *argv[])
{
using namespace jimi;
jmLog.log_begin();
bool isService = true;
jimi::CommandLine cmdLine;
int cnt;
if ((cnt = cmdLine.parse(argc, argv)) >= 0) {
std::string strCmdLine = cmdLine.getCmdLine();
jmLog.info(strCmdLine.c_str());
}
IocpServdService *service = new IocpServdService();
if (service) {
IocpServdService::SetInstance(service, true);
service->SetServiceName(g_ServiceName);
service->SetServiceDisplayName(g_ServiceDisplayName);
service->SetServiceDescription(g_ServiceDescription);
jmLog.info("cmdLine.parse(argc, argv): argc_cnt = %d", cnt);
if (cmdLine.hasArgument("-run") || cmdLine.hasArgument("/run")
|| cmdLine.hasArgument("-r") || cmdLine.hasArgument("/r")) {
service->RunService();
//service->RunServiceEx(g_ServiceTable);
}
else if (cmdLine.hasArgument("-install") || cmdLine.hasArgument("/install")
|| cmdLine.hasArgument("-i") || cmdLine.hasArgument("/i")) {
service->InstallService();
}
else if (cmdLine.hasArgument("-uninstall") || cmdLine.hasArgument("/uninstall")
|| cmdLine.hasArgument("-u") || cmdLine.hasArgument("/u")
|| cmdLine.hasArgument("-uninst") || cmdLine.hasArgument("/uninst")) {
service->UninstallService();
}
else {
// is not a windows service
isService = false;
}
if (service) {
//service->Destroy();
delete service;
}
}
printf("\n");
#if 1
SampleThread *thread = new SampleThread();
thread->Start();
thread->Join();
thread->Abort(1000);
if (thread) {
delete thread;
}
WorkerThread *workerThread = new WorkerThread();
workerThread->Start();
workerThread->Join();
if (workerThread) {
delete workerThread;
}
printf("\n");
#endif
do {
jimi::Object *object = new jimi::Object();
jimi::Object newObject = object->Clone();
printf("newObject.Equals(object) = %d\n\n", newObject.Equals(object));
object->Close();
newObject.Close();
if (object)
delete object;
} while (0);
printf("\n");
do {
csharp::ManualResetEvent *event = new csharp::ManualResetEvent(false);
//ManualResetEvent event2(false);
csharp::EventWaitHandle *event3 = new csharp::EventWaitHandle();
csharp::EventWaitHandle *event_base = (csharp::EventWaitHandle *)event;
event->Set();
event->Reset();
if (event_base) {
delete event_base;
event_base = NULL;
}
if (event) {
//delete event;
event = NULL;
//.........这里部分代码省略.........