// This file is distributed under the BSD License. // See "license.txt" for details. // Copyright 2009-2010, Jonathan Turner (jonathan@emptycrate.com) // and Jason Turner (jason@emptycrate.com) // http://www.chaiscript.com #include #include #include #include void do_work(chaiscript::ChaiScript &c) { // c("use(\"work.chai\"); do_chai_work(num_iterations);"); std::stringstream ss; ss << "MyVar" << rand(); c.add(chaiscript::var(5), ss.str()); c("use(\"work.chai\"); do_chai_work(10000);"); } int main(int argc, char *argv[]) { std::string input; chaiscript::ChaiScript chai; //chai.add_shared_object(chaiscript::Boxed_Value(10000), "num_iterations"); std::vector > threads; for (int i = 0; i < argc - 1; ++i) { threads.push_back(std::shared_ptr(new std::thread(std::bind(do_work, std::ref(chai))))); } for (int i = 0; i < argc - 1; ++i) { threads[i]->join(); } }