有关线程

不显式设置-Xss或-XX:ThreadStackSize时,在Linux x64上ThreadStackSize的默认值就是1024KB,给Java线程创建栈会用这个参数指定的大小。

如果把-Xss或者-XX:ThreadStackSize设为0,就是使用“系统默认值”。而在Linux x64上HotSpot VM给Java栈定义的“系统默认”大小也是1MB。

所以这个条件下普通Java线程的默认栈大小怎样都是1MB。

至于操作系统栈大小(ulimit -s):这个配置只影响进程的初始线程;后续用pthread_create创建的线程都可以指定栈大小。HotSpot VM为了能精确控制Java线程的栈大小,特意不使用进程的初始线程(primordial thread)作为Java线程。

线程数量=(机器本身可用内存-JVM分配的堆内存)/Xss的值,比如我们的容器本身大小是8G,堆大小是4096M,走-Xss默认值(1M),可以得出 最大线程数量:4096个。

待验证

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言中,线程相关的常用函数包括: 1. pthread_create ```c int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); ``` 该函数用于创建一个新的线程,参数说明如下: - thread:指向线程标识符的指针,创建成功后会将线程的标识符返回给调用者。 - attr:指定线程的属性,通常使用默认属性即可,传入NULL。 - start_routine:指向线程函数的指针,线程创建后会从该函数开始执行。 - arg:传递给线程函数的参数。 2. pthread_join ```c int pthread_join(pthread_t thread, void **retval); ``` 该函数用于等待一个线程结束,参数说明如下: - thread:等待的线程标识符。 - retval:指向线程返回值存储位置的指针,可以为NULL,表示不关心线程返回值。 3. pthread_detach ```c int pthread_detach(pthread_t thread); ``` 该函数用于将线程设置为分离状态,使得线程结束时能够自动释放资源,参数说明如下: - thread:需要分离的线程标识符。 4. pthread_exit ```c void pthread_exit(void *retval); ``` 该函数用于线程退出,参数说明如下: - retval:线程的返回值。 5. pthread_cancel ```c int pthread_cancel(pthread_t thread); ``` 该函数用于取消一个线程,参数说明如下: - thread:需要取消的线程标识符。 6. pthread_mutex_init ```c int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr); ``` 该函数用于初始化一个互斥锁,参数说明如下: - mutex:指向互斥锁的指针。 - attr:指定互斥锁的属性,通常使用默认属性即可,传入NULL。 7. pthread_mutex_destroy ```c int pthread_mutex_destroy(pthread_mutex_t *mutex); ``` 该函数用于销毁一个互斥锁,参数说明如下: - mutex:指向互斥锁的指针。 8. pthread_mutex_lock ```c int pthread_mutex_lock(pthread_mutex_t *mutex); ``` 该函数用于加锁一个互斥锁,参数说明如下: - mutex:指向互斥锁的指针。 9. pthread_mutex_unlock ```c int pthread_mutex_unlock(pthread_mutex_t *mutex); ``` 该函数用于解锁一个互斥锁,参数说明如下: - mutex:指向互斥锁的指针。 10. pthread_cond_init ```c int pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr); ``` 该函数用于初始化一个条件变量,参数说明如下: - cond:指向条件变量的指针。 - attr:指定条件变量的属性,通常使用默认属性即可,传入NULL。 11. pthread_cond_destroy ```c int pthread_cond_destroy(pthread_cond_t *cond); ``` 该函数用于销毁一个条件变量,参数说明如下: - cond:指向条件变量的指针。 12. pthread_cond_wait ```c int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex); ``` 该函数用于等待一个条件变量,参数说明如下: - cond:指向条件变量的指针。 - mutex:指向互斥锁的指针。 13. pthread_cond_signal ```c int pthread_cond_signal(pthread_cond_t *cond); ``` 该函数用于唤醒一个等待条件变量的线程,参数说明如下: - cond:指向条件变量的指针。 14. pthread_cond_broadcast ```c int pthread_cond_broadcast(pthread_cond_t *cond); ``` 该函数用于广播一个条件变量,唤醒所有等待条件变量的线程,参数说明如下: - cond:指向条件变量的指针。 这些函数在不同的操作系统和编译器中可能有所不同,需要根据具体的使用情况来选择和调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值