Initial check in of multithreaded support for chaiscript

This commit is contained in:
Jason Turner
2009-08-31 19:50:41 +00:00
parent ff639a267d
commit 6c4872eae9
6 changed files with 156 additions and 34 deletions

35
src/multithreaded.cpp Normal file
View File

@@ -0,0 +1,35 @@
// This file is distributed under the BSD License.
// See "license.txt" for details.
// Copyright 2009, Jonathan Turner (jturner@minnow-lang.org)
// and Jason Turner (lefticus@gmail.com)
// http://www.chaiscript.com
#include <iostream>
#include <list>
#include <chaiscript/chaiscript.hpp>
void do_work(chaiscript::ChaiScript &c)
{
c("use(\"work.chai\"); do_chai_work();");
}
int main(int argc, char *argv[]) {
std::string input;
chaiscript::ChaiScript chai;
std::vector<boost::shared_ptr<boost::thread> > threads;
for (int i = 0; i < argc - 1; ++i)
{
threads.push_back(boost::shared_ptr<boost::thread>(new boost::thread(boost::bind(do_work, boost::ref(chai)))));
}
for (int i = 0; i < argc - 1; ++i)
{
threads[i]->join();
}
}