小编Bri*_*era的帖子

clone()和fork比pthreads好吗?

我是这个领域的初学者.

我研究过fork(),vfork(),clone()和并行线程.

我注意到pthread_create()会创建一个线程,这比创建一个新进程的开销要少fork().此外,该线程将与父进程共享文件描述符,内存等.

但是,当是fork()clone()比并行线程更好?你能通过给出现实世界的例子向我解释一下吗?

提前致谢.

linux fork clone pthreads

13
推荐指数
3
解决办法
2万
查看次数

卷曲:RSA_padding_check_PKCS1_type_1:填充无效

我正在通过代码(使用 OpenSSL API)为我的服务器应用程序生成 X509 证书。我刚刚通过在我的代码的支持列表中添加 TLSv1.3 密码来添加对 TLSv1.3 的支持。

证书生成和将 RSA pub + 私钥分配给证书没有任何变化。

我已在客户端升级 curl 和 OpenSSL 库以启用 TLSv1.3 连接。升级的 Curl 版本:7.63.0 & OpenSSL 版本:1.1.1

我看到以下错误:

* TCP_NODELAY set
* Connected to <domain> (<ip-address>) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: myCA.pem
  CApath: none
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello …
Run Code Online (Sandbox Code Playgroud)

c ssl curl openssl tls1.3

6
推荐指数
1
解决办法
1万
查看次数

我应该在clone(2)中设置哪些标志,以便它与pthread_create()一样工作?

我已经做了strace(1)pthread_create(3).它间接调用clone(2)系统调用.

它将设置以下标志:(我正在使用i386 GNU/Linux(Mint 13))

CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_THREAD | CLONE_SYSVSEM | CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID
Run Code Online (Sandbox Code Playgroud)

这个旗帜我很好.但我的问题是为什么pthread_create()设置CLONE_CHILD_CLEARTID标志?根据我的知识,CLONE_CHILD_SETTID将子线程id设置在子存储器中的位置ctid,并CLONE_CHILD_CLEARTID在子进入时将其擦除.

(因为没有CLONE_CHILD_SETTID设置标志,为什么CLONE_CHILD_CLEARTID?)

真的需要吗?当我们想要实现pthread_create()使用功能时,我们应该设置什么是理想的标志clone(2)

这个领域的初学者.

linux multithreading clone pthreads

1
推荐指数
1
解决办法
478
查看次数

标签 统计

clone ×2

linux ×2

pthreads ×2

c ×1

curl ×1

fork ×1

multithreading ×1

openssl ×1

ssl ×1

tls1.3 ×1