我正在编写一个C程序,如下所示:
for (int i=0;i<n;i++){
[makes new file for i: i.txt]
[runs a long and intensive computation]
[writes to i.txt]
[closes i.txt]}
其中n是一些大的数。显然,几个迭代一次可以并行运行,因为它们不相互依赖。我的处理器上有八个核,所以我似乎希望我的程序能在这八个核上分发迭代,所以它运行得越快。这意味着我希望程序是多线程的。
我的问题是,我是否需要在C中手动多线程这个进程,或者多线程是否在某种程度上自动完成。
我使用的是,我想训练一个大的数据集,比如说10万篇新闻文章。我如何训练数据,需要多长时间?我是机器学习领域的新手,我想得到一些方向。
问题1:所有这些变量意味着什么?我应该特别注意哪几个?
numClasses: 8 numDocuments: 100 numDatums: 48721 numFeatures: 168489 Time to convert docs to data/labels: 1.0 seconds numWeights: 4317368 QNMinimizer called on double function of 4317368 variables, using
我有一个数据库,其中有100个条目需要更新某些表列条目,这是动态需要更新。
基本上,他们从磁盘收集数据并更新DB锁的100个条目,为了获得数据库/磁盘信息,他们必须获得锁,这将尝试直到在while循环中获得锁。一旦他们获得了锁,那么只能将最新的diskinfo更新到数据库。
我有一个下面的pesudo代码,它基本上按顺序完成上述工作。我想以多线程的方式运行它们,这样并行工作就可以完成了。你能指导我吗?我对java多线程程序是完全陌生的。
提前感谢你的帮助。
while(true)
{
for(int i=0,i<100;i++)
{
//Get the info from Di