在进程内运行线程

时间:2018-02-21 15:53:28

标签: multithreading python-3.x function multiprocessing

是否可以在函数内运行线程(该函数将作为进程运行),如果有多少?

以下是示例:

  {
    entry: 'app.js',
    output: {
      path: path.join(__dirname, 'dist'),
      publicPath: publicPath,
      filename: outputFilename
    },
    resolve: {
      modules: [path.join(__dirname, 'src'), path.join(__dirname, 'node_modules')]
    },
    plugins: [
      new webpack.ProvidePlugin({ 
        $: 'jquery', 
        jQuery: 'jquery'
      })
    ],
    module: {
      rules: [
        {
          test: /\.jsx?$/,
          loader: 'babel-loader',
          exclude: /node_modules/,
          query: {
            presets: ['es2015', 'react'],
            plugins: ['transform-es2015-destructuring', 'transform-object-rest-spread']
          }
        },
        ...
      ]
    ...
   }
 }

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。

您甚至可以通过启动它并使用任务管理器/活动监视器/系统监视器来测试此示例。您应该看到一个父进程和一个子进程。子进程应该有3个线程启动。

关于可以启动多少线程的问题,这实际上取决于你的用例。

给出示例的一些提示:

  1. 在此示例中,您必须至少在线程上使用join。如果您不这样做,子流程会很快完成,
  2. 由于线程是在子进程中启动的,所以你必须注意如何处理线程的生命周期,
  3. 既然你可以杀死父母,孩子的过程会继续存在,所以这是另一件需要注意的事情。
  4. 可能还有其他一些案例,但如果您决定使用流程和线程进行并发,那么您肯定需要对此进行彻底的研究。