2010-02-19 31 views
6

với chủ đề & xoay, hàng đợi sự kiện (chuỗi sự kiện gửi) được trình bày rộng rãi & được thảo luận.Với Swing & Java, những gì được thực hiện bởi chủ đề "Swing-Shell"

Tuy nhiên, khi kiểm tra trạng thái luồng bằng ứng dụng Swing, cũng có một chuỗi có tên là Swing-Shell. Với googling ngắn tôi không thể tìm thấy nhiều chi tiết, chủ yếu là thread stack dấu vết với các báo cáo lỗi, vv

Ai đó có thể mô tả ngắn gọn những gì mà chủ đề nào. Hoặc thậm chí tốt hơn, không ai đó có liên kết đến một số tài liệu

EDIT: Tôi đã hỏi quá nhanh mà không có đủ chi tiết, xin lỗi. Tôi đã đi mặc dù khác nhau vấn đề JFileChooser và một thread có tên "Swing-Shell" xảy ra ở đó, có một cái gì đó để làm với Windows COM dịch vụ cho hệ thống tập tin. Một dấu vết ngăn xếp mẫu trong một vấn đề bế tắc có thể được tìm thấy tại Sun Bug #6741890. (Theo dõi ngăn xếp luồng bắt đầu bằng sun.awt.shell.Win32ShellFolderManager2 $ ComInvoker $ 3.run).

Với kiểm tra chặt chẽ hơn với jconsole, tôi nhận thấy rằng các chủ đề là không có mặt ở đó cho đến khi Tôi đã sử dụng JFileChooser (JFileChooser ví dụ; thread Swing-Shell có thể sẽ được bắt đầu bởi bất kỳ thành phần sử dụng Win32ShellFolderManager) Các chủ đề dường như cũng tồn tại sau khi sử dụng JFileChooser.

Vì vậy, trả lời cho chính mình, chuỗi có vẻ là một chuỗi riêng biệt được sử dụng cho các dịch vụ COM với các hoạt động liên quan đến tệp (chỉ với Windows?). Nếu ai đó có thể cung cấp thêm chi tiết, hãy chào mừng =)

+1

Khi bạn thực hiện kết xuất chuỗi, dấu vết ngăn xếp trông như thế nào cho chuỗi đó? – PSpeed

+0

Và để làm rõ, nếu bạn bắt đầu ứng dụng swing của bạn từ một dòng lệnh trên Windows thì bạn có thể nhấn Ctrl-Break trong dòng lệnh đó trong khi ứng dụng đang chạy (lưu ý: không Ctrl-C) để lấy dấu vết ngăn xếp của mỗi chuỗi đang chạy . Có một cách để làm điều này trên Linux quá nhưng tôi không nhớ ra khỏi đỉnh đầu của tôi. – PSpeed

Trả lời

1

Số, mục đích và đặt tên cho chuỗi ban đầu là implementation dependent. Trên nền tảng của tôi, event dispatch thread (EDT) có tên là AWT-EventQueue-0.

Hợp đồng bổ sung: Chỉ khác reference Tôi thấy, "Ứng dụng Motif sử dụng tiện ích con vỏ để giao tiếp với trình quản lý cửa sổ". Bạn đang sử dụng một thư viện Swing của một số loại?

Như đã đề xuất ở trên, một bãi chứa chuỗi có thể được chiếu sáng. Các phiên bản gần đây của Profiler của NetBeans bao gồm một nút lưu; Tôi đã đính kèm ảnh chụp nhanh của các chuỗi trong một số busy demo điển hình.

image

+0

Có, tôi nhận được EDT của tôi với một tên tương tự nhưng điều này "Swing-Shell" dường như không phải là một "thread ban đầu" (ít nhất là trong cảm giác của liên kết). Đối với tôi, nó có vẻ giống như một số chủ đề nền của Swing hay một cái gì đó .. – Touko

Các vấn đề liên quan