我想创建动态的线程数,它取决于数据库行的数据库数。
List list = session.createQuery("From Devices").list();
线程的数量取决于list.size()。我正在使用For循环创建动态数量的线程
new Thread(){public void run(){/* Task of each thread */}.start();
创建动态线程数是否正确??如果我使用共享变量,我需要定义synchronized..任何其他想法如何管理线程,其中线程计数变得动态,并依赖于用户。
另一个问题是,我如何定义一些私有变量,这些变量被分离到每个
如果我在Linux下使用Pthread库创建线程,我需要使用函数pthread_create作为参数之一,它接受void *,这样我就可以传递一个指向某个东西的指针,这样我的线程例程就可以访问它了,但是这样做安全吗
{//some scope
int a=5//scope variable
pthread_create(&id,NULL,some_function,(void*)a);
}//end of scope
在我的日常生活中:
void *some_function(void *_arg)
{
int a=(int)arg;
return NU
问题在主题中。让我解释一下“为什么”。我在Red Hat Enterprise Linux Server 7.7上运行我的应用程序。当我使用htop检查性能时,我发现很少有线程占用太多的CPU。我添加了一些调试日志,发现在我的代码中没有创建具有高CPU的线程。因此,我假设这些CPU贪婪线程是在我正在使用的第三方共享库中创建的。所以有一个问题:假设我有一个线程id (17405)。有没有办法找出是哪个共享库启动了这个线程?
如果这个问题太琐碎,我向您道歉--我不久前才开始使用Linux操作系统。
谢谢