리눅스에서 Thread 처리?

정인철의 이미지

자바프로그램에서 쓰레드를 계속 생성할때 궁금한점입니다.

리눅스에서는 쓰레드를 프로세스처럼 처리하는지요?

자바 쓰레드 프로그램을 실행하면 ps -ef 결과가 다음과 같습니다.

xxx 3691 1 0 16:21 pts/1 00:00:00 java -classpath .:Instance
xxx 3693 3691 0 16:21 pts/1 00:00:00 java -classpath .:Instance
xxx 3694 3693 0 16:21 pts/1 00:00:00 java -classpath .:Instance
xxx 3695 3693 0 16:21 pts/1 00:00:00 java -classpath .:Instance
xxx 3696 3693 0 16:21 pts/1 00:00:00 java -classpath .:Instance

원래 맨위의 하나만 띄어져아하는데요...

리눅스는
Linux webserver 2.4.7-10 #1 Thu Sep 6 17:27:27 EDT 2001 i686 unknown

와 같습니다.

어디선가 들은 기억으로는 리눅스에서는 쓰레드를 프로세스처럼 관리한다고 들은거 같아서요..
잘못들은 걸 수도 있거든요.ㅠㅠ

혹시 설명해주실수 있을까요?

la9527의 이미지

링크가 /lib/tls 로 되어 있는 듯 싶네요..

환경 옵션에

export THREADS_FLAG=native

로 세팅 되어 있으면 위와 같이 그렇게 실행 됩니다.

리눅스 pthread 라이브러리가 초창기에는 쓰레드가 프로세스 처럼 보이게 됐었고, 레드햇 9 부터는 진짜 쓰레드 형태로 바뀌었지요. 정확한지 모르겠지만, 커널 버전에 따라서 달라집니다.

pynoos의 이미지

la9527 wrote:
리눅스 pthread 라이브러리가 초창기에는 쓰레드가 프로세스 처럼 보이게 됐었고, 레드햇 9 부터는 진짜 쓰레드 형태로 바뀌었지요. 정확한지 모르겠지만, 커널 버전에 따라서 달라집니다.

리눅스의 쓰레드는 값싼(?) 프로세스 기반으로 만들어졌기 때문에 그렇게 보이는 것이 맞습니다. 리눅스에서 프로세스 만드는 것은 전통적인UNIX에서 프로세스 만드는 것보다 가볍습니다. 레드햇 9 에서 하나로 보이는 것은 ps 명령이 스마트하게 안보여주기 때문이며, RH9에서도

ps -m

으로 보면 이전처럼 보입니다.

jika의 이미지

유닉스에서는 쓰레드의 집합을 프로세스라고 정의하는 반면에

리눅스에서는 쓰레드와 프로세스를 같은 위치에 놓고 정의하더군요.

덕분에 리눅스 쓰레드가 피쓰레드하고 약간은 다릅니다.

하지만 역시 표준은 pthread 이구요..

클론을 사용했다면 처음에는 쓰레드로 동작하다가

필요에 의해서 프로세스로 변경되는 과정도 있습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.